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