A complete tour of ES6 classes — constructors, instance and static members, inheritance with extends and super, private fields and methods, getters and setters, and how every class still sits on top of the prototype chain.
A deep, practical explanation of JavaScript prototypes — what [[Prototype]] really is, how the prototype chain is searched, the difference between `__proto__` and `prototype`, Object.create, and how prototypes power inheritance under the surface of every class.
A practical introduction to JavaScript objects — literals, property access, shorthand syntax, computed keys, methods, mutation by reference, and the difference between value semantics and reference semantics.
Modern JavaScript function features — destructured parameters with defaults, async / await, generators, iterators, tagged template literals, and the patterns that make production code readable.
A deep dive into the parts of JavaScript functions that everyone has to learn the hard way — closures, the `this` binding, `call` / `apply` / `bind`, higher-order functions, and the patterns built on top of them.
Introduction to JavaScript functions — function declarations, function expressions, arrow functions, parameters, default values, rest/spread, return values, and the difference between calling and referencing.
A practical guide to branching in modern JavaScript — truthy and falsy rules, if / else if / else, switch, the ternary operator, short-circuit evaluation, optional chaining (?.), and nullish coalescing (??).
Disclosure: Some links on this page may contain affiliate links. If you make a purchase through these links, we may earn a small commission at no extra cost to you. See our Affiliate Disclosure for details.