Course details
Javascript
Learn the core of the language that makes web pages respond. You will declare variables, know every data type, predict how values convert and compare, and store data in arrays, objects, maps and sets — all on one small music playlist.
Course curriculum
Introduction to JavaScript3 lessons
Meet the language that makes pages respond: its job next to HTML and CSS, how its yearly editions are named, and the three places you can run it.
All about Variables4 lessons
Choose between const, let and var, follow the naming rules, see where each name is visible, and predict what hoisting does before a line runs.
Data Types5 lessons
Meet the seven primitive types and objects: strings, numbers, booleans, undefined, null, BigInt and Symbol, how objects are shared by reference, and how typeof reports them.
Type Casting3 lessons
Tell deliberate conversion from hidden coercion, use Number, String, Boolean and parseInt with confidence, and predict what + and the other operators do with mixed types.
Data Structures4 lessons
Store ordered items in arrays, turn data into text and back with JSON, count and deduplicate with Map and Set, and attach notes to objects with WeakMap and WeakSet.
Equality Comparisons3 lessons
Predict loose equality's conversions, make strict equality your default, and use Object.is and SameValueZero for the edge cases of NaN and signed zero.
Loops and Control Flow8 lessons
Run the same code over a range, an array, or an object's keys, stop or skip a loop early, choose between if/else and switch, and raise and catch errors on purpose.
Expressions & Operators7 lessons
Run the arithmetic and unary operators including BigInt, assign with shortcuts like ??=, compare numbers and strings, short-circuit with logical operators, flip bits directly, branch with the ternary operator, and default or gather function parameters.
Functions6 lessons
Declare functions and default parameters, write arrow functions and know when not to, lock away private state with an IIFE, read the arguments object, trace the call stack, and use the built-in functions every file already has.
The DOM and Strict Mode4 lessons
Opt into strict mode so JavaScript stops hiding typos and unsafe assignments, then find elements in the page's tree, change what they show, and react to clicks and other events.
Using the `this` Keyword4 lessons
Trace this through object methods, standalone calls, event handlers and arrow functions, then take control of it directly with call, apply and bind.
Asynchronous JavaScript7 lessons
Write recursive functions safely, understand lexical scope and closures, trade callback hell for Promises, and read the event loop that decides when async code actually runs — ending with async/await, the readable way to write it all.
Modules in JavaScript2 lessons
Compare CommonJS's require/module.exports, still everywhere in Node, with the ESM import/export syntax that browsers and modern tooling use, and know the real differences between them.
Iterators and Generators3 lessons
Learn the next()/done/value protocol that powers for...of and spread, make your own objects iterable, then write generator functions that pause and resume with yield instead of building a whole array up front.
Classes5 lessons
Write a class with a constructor and methods, extend one class from another with super, add shared static members and computed getters/setters, lock private state behind #fields, and see the prototype chain that makes it all work underneath.
Working with APIs2 lessons
Request and send data with fetch and Promises, handle HTTP errors that don't reject on their own, and read XMLHttpRequest's older event-based pattern well enough to recognise it in existing code.
Memory Management and DevTools4 lessons
Follow a value through allocation, use and release, see what makes an object reachable or eligible for collection, take a first tour of the browser's DevTools panels, and recognise the everyday patterns that leak memory.
