Frontend essentialsBeginner14h

JavaScript & TypeScript.

The one language that runs both ends of your stack.

What is JS/TS for full-stack?

JavaScript runs in the browser and, via Node, on the server — and TypeScript adds types on top. For a full-stack developer this is the superpower: one language across the entire stack, with one type system that can stretch from the database to the UI.

Why it matters

Using JavaScript and TypeScript everywhere means no context-switching between languages, shared code between client and server, and types that catch mismatches across the seam. It is the central reason the TypeScript full-stack approach is so productive, and it underpins every later stage of this track.

What to learn

  • Modern JS: async/await, modules, destructuring
  • The same language in browser and Node, with different APIs
  • TypeScript types, interfaces, and generics
  • Typing functions, data, and API shapes
  • Sharing types between client and server
  • unknown and narrowing for untrusted input
  • Reading TypeScript errors

Common pitfall

Using any to silence TypeScript when types get hard, which throws away the safety that makes full-stack TS worthwhile. The whole point is types flowing across the seam; any punches a hole in exactly the place mismatches hide. Learn to type properly and use unknown plus narrowing for genuinely dynamic input.

Resources

Primary (free):

Practice

Write a small typed module shared in spirit by both halves: an interface for a data shape, a function that validates and transforms it, all fully typed. Handle an unknown input with narrowing. Trigger a type error and read it. Done when the code is fully typed with no any.

Outcomes

  • Use modern JavaScript across browser and Node.
  • Type functions, data, and API shapes with TypeScript.
  • Handle untrusted input with unknown and narrowing.
  • Avoid any and keep types meaningful.
Back to Full-Stack roadmap