Topics
Running JavaScript in the browser
Run JS in the console and in a page.
let, const and var
Declare variables and know when to use each.
Types, coercion and == vs ===
Predict coercion surprises.
Conditions and ternary
Branch with if/else, switch and ?: .
Loops
Use for, while, for...of and for...in.
Functions and arrow functions
Write declarations, expressions and arrow functions.
Arrays
Add, remove and find items.
map, filter and reduce
Transform data without loops.
Objects
Model things with properties and methods.
Destructuring, spread and rest
Unpack and copy data concisely.
Scope and hoisting
Understand block, function and global scope and hoisting.
Closures
See how inner functions remember outer variables.
The this keyword
Predict what this refers to in different calls.
The DOM: selecting and changing elements
Find elements and change text, styles and classes.
Events
Respond to clicks, input and key presses.
Mini project: to-do list
Combine DOM, events and arrays.
Call stack and event loop
Understand how JS runs async work on one thread.
Callbacks and setTimeout
Pass functions to run later.
Promises
Chain async work with then/catch.
async/await
Write async code that reads like sync code.
fetch and JSON APIs
Call a web API and show the data.
Classes and prototypes
Use class syntax and understand the prototype chain.
Project: expense tracker with localStorage
Build a small app that saves data in the browser.