Skip to content
ExponaBLOG
Series · Day 100 of 100

JavaScript & TypeScript

  1. 51
    Branded IDs: concepts, trade-offs and production lessons
    Make wrong arguments a compile error.
  2. 52
    Function overloads vs unions in JavaScript & TypeScript
    Two ways to type flexible functions.
  3. 53
    Typing callbacks for JavaScript & TypeScript developers
    Callback types that help instead of hurt.
  4. 54
    End-to-end type safety: a practical guide for developers
    Types from database to UI.
  5. 55
    Types from Zod schemas: a practical guide for developers
    One definition, validation and types.
  6. 56
    Runtime validation for JavaScript & TypeScript developers
    TypeScript can't check data from the outside world.
  7. 57
    Parse, don't validate: a practical guide for developers
    Turn untrusted data into trusted types once.
  8. 58
    tsconfig explained for JavaScript & TypeScript developers
    The options that actually matter.
  9. 59
    moduleResolution: bundler — patterns, pitfalls and fixes
    The right setting for Vite and Next.js projects.
  10. 60
    Typing third-party libraries in JavaScript & TypeScript
    When packages don't ship types.
  11. 61
    DefinitelyTyped: a practical JavaScript & TypeScript guide
    Community types for the JavaScript ecosystem.
  12. 62
    Enums vs unions vs const objects: lessons from production
    Three ways to model fixed values.
  13. 63
    Erasable syntax only: a practical guide for developers
    Why many teams are moving away from enums.
  14. 64
    Node.js runs TypeScript natively: lessons from production
    Type stripping changes the toolchain.
  15. 65
    tsc as a type checker: a practical guide for developers
    Let fast tools compile; let tsc verify.
  16. 66
    Error types in TypeScript: practical tips and trade-offs
    catch gives you unknown — handle it properly.
  17. 67
    A tiny Result type for JavaScript & TypeScript developers
    Expected failures as values, not exceptions.
  18. 68
    Typing async code for JavaScript & TypeScript developers
    Promises, async iterators and Awaited.
  19. 69
    The Awaited type for JavaScript & TypeScript developers
    Get the resolved type of any promise.
  20. 70
    JavaScript performance fundamentals: a step-by-step guide
    How V8 makes your code fast — or slow.
  21. 71
    Measure with performance.now(): best practices explained
    Stop guessing. Time it.
  22. 72
    Web APIs every developer should know: a practical guide
    Built-in tools that replace libraries.
  23. 73
    Cancel requests with AbortController: a practical guide
    Stop work nobody is waiting for.
  24. 74
    Web Workers: concepts, trade-offs and production lessons
    Move heavy work off the main thread.
  25. 75
    Transfer, don't copy: a practical guide for developers
    Large data between threads, instantly.
  26. 76
    Streams in JavaScript: a practical guide for developers
    Process data as it arrives.
  27. 77
    Stream large responses: a practical guide for developers
    Show progress instead of waiting.
  28. 78
    JavaScript security essentials: best practices explained
    Vulnerabilities that start in JS code.
  29. 79
    Prototype pollution for JavaScript & TypeScript developers
    A __proto__ key can poison every object.
  30. 80
    Testing TypeScript with Vitest: best practices explained
    Fast tests with native TS support.
  31. 81
    Test your types: a practical JavaScript & TypeScript guide
    Type-level tests catch API regressions.
  32. 82
    The JS/TS toolchain in 2026: what developers should know
    What I use and why.
  33. 83
    Biome vs ESLint + Prettier: patterns, pitfalls and fixes
    One fast tool or the established combo.
  34. 84
    TypeScript monorepos: a practical guide for developers
    Share types across apps and services.
  35. 85
    Path aliases: a practical JavaScript & TypeScript guide
    @/components beats ../../../components.
  36. 86
    Building a typed SDK: a practical guide for developers
    Lessons from shipping internal API clients.
  37. 87
    Publishing dual packages: a hands-on guide for engineers
    ESM and CommonJS without headaches.
  38. 88
    Functional programming in JavaScript: a practical guide
    Practical ideas, not academic jargon.
  39. 89
    A tiny pipe function: a practical guide for developers
    Compose transformations left to right.
  40. 90
    Regex essentials for JavaScript & TypeScript developers
    Enough regex to be dangerous — safely.
  41. 91
    Named capture groups: a practical guide for developers
    Regex results you can read.
  42. 92
    Money and floating point: a hands-on guide for engineers
    Lessons from integrating payment gateways.
  43. 93
    Why 0.1 + 0.2 isn't 0.3: real-world lessons and examples
    Binary floating point can't represent some decimals exactly.
  44. 94
    BigInt and large numbers: a hands-on guide for engineers
    When numbers are too big for Number.
  45. 95
    Precision loss in large IDs: what developers should know
    Some IDs exceed what JavaScript numbers can hold.
  46. 96
    My TypeScript code review checklist: a step-by-step guide
    What I look for in every TS pull request.
  47. 97
    TypeScript anti-patterns: a hands-on guide for engineers
    Habits that weaken type safety.
  48. 98
    Migrating a JavaScript codebase to TypeScript explained
    An incremental path that works.
  49. 99
    Advice for leveling up in JS and TS: a step-by-step guide
    What separated good from great in my experience.
  50. 100
    100 days of JavaScript and TypeScript: lessons explained
    Wrapping up the series.