Frontend development

Stage 2 of 7 · 10 lessons · ~4 months

JavaScript and the browser

The language itself, then using it in the browser: the DOM, events, fetch and asynchronous code. This stage decides how comfortable every framework later feels.

Start: Values, types and equality

Lessons· one lesson for each topic, in this order

  1. 1Values, types and equality
  2. 2Functions and scope
  3. 3Arrays, objects, destructuring and array methods
  4. 4Closures
  5. 5How this works
  6. 6The DOM and events
  7. 7Promises and async/await
  8. 8The event loop
  9. 9Fetching data and handling every state
  10. 10ES modules

Start with· follow one of these

  • CoursePaid
    Grokking JavaScript Fundamentals

    Design Gurus · Beginner · $50

    Guided beginner course on the language core, with quizzes after every chapter

  • GuideFree
    JavaScript.info

    Ilya Kantor

    Free and thorough: Part 1 for the language, Part 2 for the DOM and events, Part 3 for fetch

Practise

  • Thirty small browser projects with no framework to hide behind

  • Free JavaScript curriculum exercises for daily reps on the language core

Keep handy

  • JavaScript and Web API reference, including fetch, the DOM and events

Also worth your time

Before moving on: Build a small app in plain JavaScript that fetches data from a public API, renders it, filters and sorts it, and shows loading, empty and error states.

Tauseef's advice
Stay in plain JavaScript until closures, promises and the DOM stop surprising you. People who jump to a framework early spend years confusing framework problems with JavaScript problems. Type the logic yourself, even when an assistant could.

Mark this stage as not done?