# You-Dont-Know-JS | Kyle Simpson | Knowledge Base | Instagit

A book series (2 published editions) on the JS language.

GitHub Stars: 184k

Repository: https://github.com/getify/You-Dont-Know-JS

---

## Articles

### [JavaScript Error Handling in Strict Mode vs Sloppy Mode: A Complete Guide](/getify/You-Dont-Know-JS/how-does-javascript-handle-errors-differently-in-strict-mode-vs-sloppy-mode)

Learn how JavaScript error handling differs between strict mode and sloppy mode. Discover how strict mode catches more errors, simplifying debugging and improving performance.

- Tags: deep-dive
- Published: 2026-02-24

### [What Is Appendix B in the ECMAScript Specification and Why Does It Exist?](/getify/You-Dont-Know-JS/what-is-appendix-b-in-the-ecmascript-specification-and-why-does-it-exist)

Discover Appendix B of the ECMAScript spec a catalog of legacy browser JavaScript features essential for maintaining web compatibility. Learn about octal literals escape unescape and more.

- Tags: deep-dive
- Published: 2026-02-24

### [How the JavaScript Module Pattern Uses Closures for Encapsulation](/getify/You-Dont-Know-JS/how-does-the-module-pattern-use-closures-for-encapsulation)

Learn how the JavaScript module pattern uses closures to achieve true encapsulation. Create private state and a public API, preventing direct external modification.

- Tags: deep-dive
- Published: 2026-02-24

### [Function Hoisting vs Variable Hoisting in JavaScript: Key Differences Explained](/getify/You-Dont-Know-JS/what-is-function-hoisting-and-how-does-it-differ-from-variable-hoisting)

Understand function hoisting vs variable hoisting in JavaScript. Learn how function declarations are fully lifted while var variables are only initialized to undefined, boosting your code comprehension.

- Tags: deep-dive
- Published: 2026-02-24

### [The Three Pillars of JavaScript According to YDKJS](/getify/You-Dont-Know-JS/what-are-the-three-pillars-of-javascript-according-to-ydkjs)

Master JavaScript essentials with YDKJS. Explore Scope Closures, Prototypes Objects, and Types Coercion the three core pillars for deeper understanding and better code.

- Tags: deep-dive
- Published: 2026-02-24

### [How JavaScript's Prototype Chain Works for Inheritance: Delegation vs. Copying](/getify/You-Dont-Know-JS/how-does-javascript-prototype-chain-work-for-inheritance)

Understand JavaScript's prototype chain inheritance. Learn how delegation via [[Prototype]] enables property lookups across object chains, unlike simple copying. Unlock efficient JS inheritance.

- Tags: deep-dive
- Published: 2026-02-24

### [JavaScript this Keyword: Binding Rules and Contextual Behavior](/getify/You-Dont-Know-JS/what-is-the-this-keyword-and-how-does-it-behave-in-different-contexts)

Master the JavaScript this keyword. Understand its binding rules and contextual behavior, from constructor calls to default binding and lexical scope with arrow functions. Optimize your code.

- Tags: deep-dive
- Published: 2026-02-24

### [How WebAssembly (WASM) Complements JavaScript in Modern Web Development](/getify/You-Dont-Know-JS/how-does-web-assembly-wasm-complement-javascript-in-web-development)

Discover how WebAssembly complements JavaScript unlocking faster performance and enabling new possibilities for your web applications. Explore WASM's benefits today.

- Tags: deep-dive
- Published: 2026-02-24

### [What Is the TC39 Committee? Understanding JavaScript Standardization](/getify/You-Dont-Know-JS/what-is-the-role-of-the-tc39-committee-in-javascript-standardization)

Discover the TC39 committee and its vital role in JavaScript standardization. Learn how ECMAScript evolves to shape the future of the web's most popular language.

- Tags: deep-dive
- Published: 2026-02-24

### [How JavaScript Modules Differ from Traditional Script Tags: A Complete Guide](/getify/You-Dont-Know-JS/how-do-javascript-modules-differ-from-traditional-script-tags)

Discover the key differences between JavaScript modules and traditional script tags Understand isolated scopes asynchronous loading and explicit imports versus global namespace pollution Explore modern JavaScript development

- Tags: deep-dive
- Published: 2026-02-24

### [The Difference Between JavaScript, ECMAScript, and ES6/ES2015: A Complete Guide](/getify/You-Dont-Know-JS/what-is-the-difference-between-javascript-ecmascript-and-es6-es2015)

Understand the difference between JavaScript, ECMAScript, and ES6. Learn how this specification drives modern web development and explore key features of ES2015.

- Tags: deep-dive
- Published: 2026-02-24

### [How JavaScript's Closure Mechanism Works Under the Hood: Lexical Scope and Environment Records](/getify/You-Dont-Know-JS/how-does-javascript-closure-mechanism-actually-work-under-the-hood)

Uncover how JavaScript closures work under the hood. Learn about lexical scope and environment records to master this fundamental concept and enhance your code.

- Tags: deep-dive
- Published: 2026-02-24

### [What Is Transpiling and How Does Babel Enable Modern JavaScript in Old Browsers?](/getify/You-Dont-Know-JS/what-is-transpiling-and-how-does-babel-enable-modern-javascript-in-old-browsers)

Understand transpiling, the process of converting modern JavaScript to browser-compatible code. Learn how Babel enables new features in older browsers, ensuring wide accessibility.

- Tags: deep-dive
- Published: 2026-02-24

### [How Polyfills Work in JavaScript: A Complete Guide from You Don't Know JS](/getify/You-Dont-Know-JS/how-do-polyfills-work-and-when-should-you-use-them)

Discover how polyfills work in JavaScript. Learn to implement fallback solutions for modern code to run on older browsers. Get the complete guide.

- Tags: deep-dive
- Published: 2026-02-24

### [Why You Should Avoid eval() and with in JavaScript: Lexical Scope Explained](/getify/You-Dont-Know-JS/why-should-you-avoid-eval-and-with-in-javascript)

Learn why eval and with break JavaScripts lexical scope. Avoid these functions to prevent security risks and improve code performance by disabling optimizations.

- Tags: best-practices
- Published: 2026-02-24

### [How JavaScript Engines Handle Variable Lookups: LHS vs RHS Explained](/getify/You-Dont-Know-JS/how-does-the-javascript-engine-handle-variable-lookups-lhs-vs-rhs)

Understand how JavaScript engines perform variable lookups using LHS vs RHS. Learn how identifiers are classified for efficient scope resolution.

- Tags: deep-dive
- Published: 2026-02-24

### [What Is Strict Mode in JavaScript and What Does It Prevent?](/getify/You-Dont-Know-JS/what-is-the-purpose-of-strict-mode-in-javascript-and-what-does-it-prevent)

Discover strict mode in JavaScript. Learn how this ECMAScript 5 feature prevents silent errors, avoids accidental global variables, and optimizes code for better performance.

- Tags: deep-dive
- Published: 2026-02-24

### [How var, let, and const Differ in Hoisting and Scope: A Complete Guide from You-Dont-Know-JS](/getify/You-Dont-Know-JS/how-do-var-let-and-const-differ-in-terms-of-hoisting-and-scope)

Understand the crucial differences between var let and const in Javascript hoisting and scope. Master JS fundamentals with this complete guide to avoid common pitfalls and write cleaner code.

- Tags: deep-dive
- Published: 2026-02-24

### [Temporal Dead Zone in JavaScript: Understanding let and const Hoisting](/getify/You-Dont-Know-JS/what-is-the-temporal-dead-zone-tdz-in-javascript-and-how-does-it-affect-let-const)

Understand the Temporal Dead Zone TDZ in JavaScript with let and const. Learn how uninitialized variables cause ReferenceError and affect hoisting in this concise explanation.

- Tags: deep-dive
- Published: 2026-02-24

### [JavaScript Compilation vs Interpretation: How JS Engines Really Work](/getify/You-Dont-Know-JS/how-does-javascript-compilation-differ-from-interpretation-and-why-does-it-matter)

Discover how JavaScript engines compile code into bytecode for faster execution unlike line-by-line interpretation. Understand the technical difference and its impact on performance and error detection.

- Tags: deep-dive
- Published: 2026-02-24

### [Backwards Compatibility vs Forwards Compatibility in JavaScript: The Complete Guide](/getify/You-Dont-Know-JS/what-is-the-difference-between-backwards-compatibility-and-forwards-compatibility-in-javascript)

Understand JavaScript backwards compatibility vs forwards compatibility. Learn why old code runs in new engines but new syntax breaks in old browsers.

- Tags: deep-dive
- Published: 2026-02-24

### [JavaScript Lexical Scope: Compile-Time vs Runtime Resolution](/getify/You-Dont-Know-JS/how-does-javascript-lexical-scope-work-at-compile-time-vs-runtime)

Understand JavaScript lexical scope resolution at compile time versus runtime. Learn how the engine builds a scope tree and traverses it efficiently.

- Tags: deep-dive
- Published: 2026-02-24

