JavaScript Language
js-language
Question Banks
JavaScript Coercion and Equality Code Traces
Six output traces drilling on `==` vs `===`, unary `+`, falsy values, and chained relational coercion. Sharpens the rules JS applies before comparing.
JavaScript Hoisting and TDZ Code Traces
Six traces covering `var` declaration hoisting, function-declaration hoisting, TDZ access of `let`/`const`, and IIFE shadowing. Sharpens the mental model of when a binding exists vs. when it has a value.
JavaScript Object Reference and Key Coercion Traces
Six traces covering object-key stringification, reference vs literal equality, `Object.create` prototype chains, and shallow-copy aliasing with arrays.
JavaScript `typeof`, NaN, and Number Quirks Traces
Six traces covering the `typeof` chain, `isNaN` vs `Number.isNaN`, `parseInt` with `map`, the comma operator, `Object.is`, and `Number()` vs `new Number()`.
Generators and Iterators Quiz
Practice the iterator protocol from both sides: write an infinite Fibonacci generator, an async iterable, a `[Symbol.iterator]` implementation, and a `for...of` consumer.
Proxy, Reflect, and Symbol Quiz
Four metaprogramming drills: a logging Proxy, a Proxy-backed data binding, Symbols as private keys, and the Reflect API for safer dynamic property work.
JavaScript Tooling and Build Trivia
Three quick-fire build-pipeline questions: transpiler vs polyfill, Babel vs SWC, and what source maps actually do.
JavaScript Cross-Browser Event Target: Two Approaches Quiz
Two seeded approaches to read the event target across browsers (event.target plus legacy event.srcElement, and a delegated table cell editor), plus two companions on currentTarget and composedPath.
JavaScript String-Only Regex Match: Three Approaches Quiz
Validate that a string contains only letters and whitespace, three ways (`String.prototype.match` + literal, `RegExp.test`, including-special-chars via `\D`), plus companions on Unicode letters and inverting the rule.
JavaScript Function Declaration vs Expression Hoisting: Two Explanations Quiz
Trace mixed declaration / expression calls before either is defined: declaration fully hoisted vs expression-as-var only binding hoisted, plus TDZ for let/const and named function expressions.
JavaScript Class Static vs Instance: Two Explanations Quiz
Two seeded explanations of how a `Person` class with a static method, a getter, and an instance method behaves when called via `new`, plus two companions on getter syntax and static field inheritance.
JavaScript Set and Map Values Output: Two Explanations Quiz
Two seeded explanations of how `Set` and `Map` expose their values via iterators and what `console.log` prints when you call `.values()` on each, plus two companions on insertion-order guarantees and on de-duplication semantics.
