# getify/you-dont-know-js

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/getify-you-dont-know-js).**

184,530 stars · 33,520 forks · NOASSERTION

## Links

- GitHub: https://github.com/getify/You-Dont-Know-JS
- Homepage: https://www.amazon.com/dp/B085XXCJ7X
- awesome-repositories: https://awesome-repositories.com/repository/getify-you-dont-know-js.md

## Topics

`async` `book` `book-series` `closures` `education` `es2015` `es6` `javascript` `learn-to-code` `programming` `prototypes` `training-materials` `training-providers`

## Description

This project is a comprehensive educational series designed to provide a deep technical understanding of the JavaScript programming language. It functions as a multi-volume curriculum that guides developers through the core mechanisms, execution models, and underlying specifications that define how the language operates at a fundamental level.

The curriculum distinguishes itself by focusing on the internal architecture of the language rather than surface-level syntax. It provides rigorous analysis of complex topics such as lexical scope, closure-based state encapsulation, prototype-based inheritance, and the mechanics of the event loop. By exploring how the engine manages execution contexts and variable environments, the series enables developers to navigate the nuances of dynamic type systems and implicit coercion with greater predictability.

The material covers the full spectrum of language fundamentals, including object-oriented patterns, asynchronous execution flows, and the rules of grammar that govern data transformation. These resources are structured to help practitioners transition from basic usage to a mastery of language internals, ultimately supporting the development of more maintainable and efficient software. The content is available as a series of technical manuals and conceptual guides intended for systematic study.

## Tags

### Education & Learning Resources

- [Computer Science Curricula](https://awesome-repositories.com/f/education-learning-resources/educational-resources/courses-training-certifications/courses-structured-learning/computer-science-curricula.md) — Delivers a structured collection of educational modules covering language internals and architectural fundamentals.
- [Language Fundamentals](https://awesome-repositories.com/f/education-learning-resources/educational-resources/languages-and-programming-concepts/software-engineering-languages/language-fundamentals.md) — Covers core language mechanics, including syntax rules and data coercion, to help developers write predictable code. ([source](https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/README.md))
- [Conceptual Programming Resources](https://awesome-repositories.com/f/education-learning-resources/educational-resources/languages-and-programming-concepts/software-engineering-languages/language-fundamentals/conceptual-programming-resources.md) — Focuses on the theoretical foundations and internal logic of the language to improve software development practices.
- [Language Internals Guides](https://awesome-repositories.com/f/education-learning-resources/educational-resources/languages-and-programming-concepts/software-engineering-languages/language-fundamentals/language-internals-guides.md) — Offers deep-dive explanations into the core runtime mechanisms and internal behaviors of the language. ([source](https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/README.md))
- [Language Reference Manuals](https://awesome-repositories.com/f/education-learning-resources/educational-resources/reference-and-media/books-docs-reference/documentation/language-reference-manuals.md) — Serves as detailed technical documentation covering the syntax, grammar, and execution models of the language.
- [Technical Book Series](https://awesome-repositories.com/f/education-learning-resources/programming-books/technical-book-series.md) — Presents a multi-volume educational curriculum designed to build deep technical mastery through a structured sequence of topics.
- [Dynamic Type Systems](https://awesome-repositories.com/f/education-learning-resources/educational-resources/languages-and-programming-concepts/software-engineering-languages/language-fundamentals/dynamic-type-systems.md) — Provides deep technical insight into language grammar, data coercion, and variable scoping to navigate dynamic type system nuances.
- [Object Oriented Patterns](https://awesome-repositories.com/f/education-learning-resources/educational-resources/languages-and-programming-concepts/software-engineering-languages/language-fundamentals/object-oriented-patterns.md) — Examines the mechanics of object creation, prototype chains, and class-based structures to organize data and behavior. ([source](https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/README.md))

### Programming Languages & Runtimes

- [Execution Models](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/execution-models.md) — Explains how execution flow is managed through patterns that handle blocking operations and non-blocking callbacks in event-driven environments. ([source](https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/README.md))
- [Execution Contexts](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/function-invocation-mechanics/execution-contexts.md) — Tracks the creation of variable environments and binding references during the lifecycle of nested function calls.
- [Event Loop Models](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtime-internals-foundations/runtime-architecture/event-loop-models.md) — Demonstrates how asynchronous task scheduling and concurrency are managed through a single-threaded execution model and task queue.
- [Lexical Scoping Mechanisms](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtime-internals-foundations/runtime-architecture/lexical-scoping-mechanisms.md) — Unpacks the rules governing variable accessibility and identifier binding within nested execution environments.
- [Prototype Inheritance Models](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtime-internals-foundations/runtime-architecture/prototype-inheritance-models.md) — Clarifies how object properties and methods resolve through linked internal reference chains to share behavior across instances.
- [Prototype-Based Inheritance Mechanisms](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/core-conceptual-frameworks/programming-language-concepts/prototype-based-inheritance-mechanisms.md) — Details the delegation-based object model used for property and method resolution through linked internal references.
- [Type Coercion Mechanisms](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtime-internals-foundations/runtime-architecture/type-coercion-mechanisms.md) — Analyzes implicit and explicit data conversion rules to ensure predictable behavior during runtime operations.
- [Asynchronous Control Flows](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/asynchronous-execution-engines/asynchronous-control-flows.md) — Teaches patterns for managing complex, event-driven, and non-blocking operations to build responsive software applications.

### Software Engineering & Architecture

- [Closures](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/design-patterns/functional-design-patterns/functional-programming/closures.md) — Illustrates the mechanics of lexical scoping and how functions maintain access to outer variables after execution.

### Part of an Awesome List

- [JavaScript Development](https://awesome-repositories.com/f/awesome-lists/devtools/javascript-development.md) — Deep dive into the core mechanics of the JavaScript language.
- [JavaScript Resources](https://awesome-repositories.com/f/awesome-lists/devtools/javascript-resources.md) — In-depth exploration of core JavaScript language mechanics.
- [JavaScript Standards and Style](https://awesome-repositories.com/f/awesome-lists/devtools/javascript-standards-and-style.md) — Deep dive into core JavaScript mechanics.
- [Language Style Guides](https://awesome-repositories.com/f/awesome-lists/devtools/language-style-guides.md) — Deep dive into core JavaScript mechanics and best practices.
- [Programming Languages](https://awesome-repositories.com/f/awesome-lists/devtools/programming-languages.md) — In-depth book series on JavaScript.
- [Learning and Reference](https://awesome-repositories.com/f/awesome-lists/learning/learning-and-reference.md) — Provides in-depth books on modern JavaScript.
- [Learning Resources](https://awesome-repositories.com/f/awesome-lists/learning/learning-resources.md) — In-depth technical exploration of JavaScript asynchronous patterns.
- [Free eBooks](https://awesome-repositories.com/f/awesome-lists/more/free-ebooks.md) — Listed in the “Free eBooks” section of the Awesome Javascript Learning awesome list.
