Skip to content
System nominalUTC --:--:--Articles 041
DEV TRACK Beginner to advanced

JavaScript and TypeScript, from Script to Application

A complete course in modern JavaScript and TypeScript: the runtime model, collections, closures, modules, promises, the type system, and building a real application.

Modules
06
Lessons
18
Reading time
10H 15M
Words
33,019
0 of 18 complete0%

What you will be able to do

  • Explain what the event loop does with your code and why order surprises happen.
  • Use arrays, objects, Map, Set and iterators for what each is actually good at.
  • Write closures and modules that do not leak state into the global scope.
  • Handle asynchronous failure without losing the error.
  • Type a real codebase with generics and narrowing instead of casting away the problem.
  • Build, test and ship a browser application with a bundler.

Before you start

Some experience writing any programming language, and a working Node.js installation. No prior JavaScript required.

JavaScript is the only language most developers are forced to use before they have been taught it. You copy a snippet, it works, and you move on with a mental model that is wrong in three places. The bill for that arrives later, usually as a bug that only happens in production, or as a runtime error nobody can reproduce.

This course rebuilds the model properly. It starts with what the runtime does to your file before your first line runs, because evaluation order explains a whole family of confusing bugs. It then works through collections, closures and modules, spends a full module on asynchrony because that is where the real damage happens, and moves into TypeScript as a tool for finding mistakes rather than as a syntax to satisfy.

The last module builds an actual application with no framework: state, rendering, tests and a production bundle. Frameworks are much easier to learn once you have written the thing a framework is a shortcut for.

Curriculum

6 modules, 18 lessons

MODULE 01

The language and the runtime

Values, coercion, scope, hoisting, and what the event loop is doing while you wait.

3 lessons · 1H 20M

MODULE 02

Collections and iteration

Arrays, objects, Map, Set, spread, destructuring, iterators and generators.

3 lessons · 1H 20M

MODULE 05

TypeScript

Structural typing, narrowing, generics, utility types and a tsconfig that catches real mistakes.

3 lessons · 1H 45M

MODULE 06

Building an application

The DOM, state without a framework, testing, bundling, and deploying the result.

3 lessons · 2H 30M

Go deeper

Articles that pair with this course