Learn › JavaScript & TypeScript Core

🟨 JavaScript & TypeScript Core

The language internals interviewers probe to test depth beyond framework usage.

Goal
Explain closures, the event loop, prototypes, and async clearly with examples.
01
Closures, Scope & Hoisting
Why a function remembers variables from where it was defined — and how scope, hoisting, and the TDZ actually work.
medium ⏱ 20m
02
this, call/apply/bind & arrow functions
The four rules that decide what `this` is at call time — and why arrow functions ignore them.
medium ⏱ 18m
03
The Prototype Chain & Inheritance
How property lookup walks [[Prototype]] up to null, and why class is just sugar over it.
medium ⏱ 20m
04
The Event Loop: microtasks vs macrotasks
Why the output is A, D, C, B — how the call stack, microtask queue, and macrotask queue decide async ordering.
medium ⏱ 22m
05
Promises & async/await
States, chaining, error handling, and the concurrency helpers — plus how await maps back to the event loop.
medium ⏱ 22m
06
Type Coercion & Equality
Why == is dangerous, how JS coerces types automatically, and the truthy/falsy rules that trip up even experienced devs.
medium ⏱ 18m
07
Debounce & Throttle — implement from scratch
Two patterns every frontend engineer must be able to implement cold: what they do, when each fits, and the code.
medium ⏱ 20m
08
Functional JS: Currying, Composition & Pure Functions
Pure functions, immutability, currying, partial application, and function composition — the functional toolkit asked at mid-senior interviews.
medium ⏱ 22m
09
Generators & Iterators
Symbol.iterator, the iterator protocol, generator functions, lazy sequences, and async generators — the machinery behind for...of and spread.
hard ⏱ 20m
10
ES Modules vs CommonJS
Static vs dynamic, live bindings vs copies, tree shaking, circular dependencies — what every senior JS dev must know about the module system.
medium ⏱ 18m
11
TypeScript: Generics, Utility Types & Type Narrowing
The TS features that separate shallow knowledge from real depth: generics, the built-in utility types, type narrowing, and mapped/conditional types.
hard ⏱ 25m
12
Error Handling Patterns
Error types, try/catch/finally semantics, async error propagation, custom error classes, and the patterns that prevent silent failures.
medium ⏱ 18m
13
Design Patterns in JavaScript
Observer, Module, Singleton, Factory, and Strategy — the classic patterns reframed for modern JS/TS, with real-world React/Node parallels.
medium ⏱ 22m
14
Immutability, WeakRefs & Memory Management
Shallow vs deep clone, Object.freeze, structuredClone, WeakMap/WeakSet for memory-safe caching, and how the garbage collector works.
hard ⏱ 20m