# javascript-tutorial/en.javascript.info

**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/javascript-tutorial-en-javascript-info).**

25,344 stars · 3,995 forks · HTML · NOASSERTION

## Links

- GitHub: https://github.com/javascript-tutorial/en.javascript.info
- Homepage: https://javascript.info
- awesome-repositories: https://awesome-repositories.com/repository/javascript-tutorial-en-javascript-info.md

## Topics

`english` `javascript` `tutorial`

## Description

This project is a comprehensive JavaScript programming tutorial and language reference. It serves as a web development education resource providing instruction on modern language fundamentals, object-oriented design, and advanced asynchronous programming patterns.

The resource functions as both a frontend development guide and a technical reference. It covers core language features such as closures, prototypes, promises, and typed arrays, while providing practical lessons on managing browser data and handling network requests.

The content spans several key capability areas, including browser API integration, data structure manipulation, and frontend web development. It specifically covers the manipulation of the document object model, the handling of browser events, and the creation of reusable web components.

The documentation is delivered as a collection of static-site generated pages created from markdown files.

## Tags

### Education & Learning Resources

- [JavaScript Language Instruction](https://awesome-repositories.com/f/education-learning-resources/javascript-language-instruction.md) — Serves as a comprehensive tutorial for modern JavaScript language fundamentals and object-oriented design. ([source](https://javascript.info))
- [JavaScript Learning Resources](https://awesome-repositories.com/f/education-learning-resources/javascript-learning-resources.md) — Serves as a primary educational resource for mastering JavaScript language syntax and advanced programming patterns.
- [JavaScript Language References](https://awesome-repositories.com/f/education-learning-resources/javascript-language-references.md) — Provides technical explanations of core language internals including closures, prototypes, and the event loop.
- [JavaScript Tutorials](https://awesome-repositories.com/f/education-learning-resources/javascript-tutorials.md) — Provides a comprehensive tutorial covering JavaScript fundamentals through to advanced asynchronous programming patterns.
- [Web Development Guides](https://awesome-repositories.com/f/education-learning-resources/web-development-guides.md) — Functions as a comprehensive educational guide for web development practices, including DOM and component management.
- [JavaScript Data Transformations](https://awesome-repositories.com/f/education-learning-resources/algorithm-and-data-structure-guides/data-structure-transformation-techniques/javascript-data-transformations.md) — Teaches how to process and transform common data structures like arrays and strings using native JavaScript logic.
- [DOM Traversers](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/technical-academic-domains/algorithmic-design-analysis/tree-data-structures/tree-traversal-utilities/dom-traversers.md) — Instructs on navigating the document object model using parent, child, and sibling references. ([source](https://javascript.info/basic-dom-node-properties))

### Part of an Awesome List

- [Frontend Development](https://awesome-repositories.com/f/awesome-lists/devtools/frontend-development.md) — Covers the creation of dynamic, interactive user interfaces through DOM manipulation and browser-based logic.
- [Regular Expressions](https://awesome-repositories.com/f/awesome-lists/data/regular-expressions.md) — Provides a reference for defining patterns to search, match, and manipulate strings using regular expressions. ([source](https://javascript.info))
- [Regex Pattern Matching](https://awesome-repositories.com/f/awesome-lists/devtools/regex-and-pattern-matching/regex-pattern-matching.md) — Instructs on comparing strings against regular expression patterns to find, extract, or remove matching substrings. ([source](https://javascript.info))
- [Animation & Transitions](https://awesome-repositories.com/f/awesome-lists/media/animation-transitions.md) — Provides guidance on using CSS transitions and JavaScript logic to create complex UI animations. ([source](https://javascript.info/animation))

### Data & Databases

- [Array Manipulation Utilities](https://awesome-repositories.com/f/data-databases/array-manipulation-utilities.md) — Explains functional capabilities for transforming, filtering, and aggregating elements within structured arrays. ([source](https://javascript.info/array-methods))
- [Array Element Modifiers](https://awesome-repositories.com/f/data-databases/array-element-modifiers.md) — Teaches operations for removing or modifying specific elements within a list or array based on index or condition. ([source](https://javascript.info/array-methods))
- [Array Transformations](https://awesome-repositories.com/f/data-databases/array-element-modifiers/array-transformations.md) — Provides lessons on applying functions to every element of an array to create a new transformed array. ([source](https://javascript.info/array-methods))
- [Asynchronous Collection Iteration](https://awesome-repositories.com/f/data-databases/collection-iterators/asynchronous-iterators/asynchronous-collection-iteration.md) — Teaches how to process values that arrive on-demand using asynchronous iteration and loops. ([source](https://javascript.info/async-iterators-generators))
- [Collection Iteration](https://awesome-repositories.com/f/data-databases/collection-iterators/collection-iteration.md) — Provides instruction on traversing elements within arrays using standard language-level iteration constructs. ([source](https://javascript.info/array))
- [Array Filtering](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-transformation/array-tensor-manipulation/array-filtering.md) — Provides instruction on using programmatic expressions to filter specific elements within arrays. ([source](https://javascript.info/array-methods))
- [Recursive Logic Implementations](https://awesome-repositories.com/f/data-databases/data-transformation-functions/recursive-processors/recursive-logic-implementations.md) — Provides instruction on implementing self-referencing function calls to solve recursive problems. ([source](https://javascript.info/advanced-functions))
- [Ordered Collection Management](https://awesome-repositories.com/f/data-databases/ordered-collection-management.md) — Teaches techniques for storing and retrieving sequential lists of elements to maintain specific order. ([source](https://javascript.info/array))

### Programming Languages & Runtimes

- [Asynchronous Programming Patterns](https://awesome-repositories.com/f/programming-languages-runtimes/asynchronous-programming-patterns.md) — Provides comprehensive instruction on non-blocking execution flows using promises and async/await syntax.
- [Function Context Binding](https://awesome-repositories.com/f/programming-languages-runtimes/function-context-binding.md) — Instructs on fixing the 'this' value to maintain consistent object context during function execution. ([source](https://javascript.info/advanced-functions))
- [Function Definition Patterns](https://awesome-repositories.com/f/programming-languages-runtimes/function-definition-patterns.md) — Provides guidance on writing concise and readable functions using modern JavaScript syntax. ([source](https://javascript.info/arrow-functions-basics))
- [Promise-Based Flow Control](https://awesome-repositories.com/f/programming-languages-runtimes/promise-based-flow-control.md) — Explains architectural patterns for managing asynchronous operation sequences using promises and async/await syntax.
- [Array Sorting](https://awesome-repositories.com/f/programming-languages-runtimes/array-sorting.md) — Teaches how to reorder elements in place using custom comparison functions or alphabetical order. ([source](https://javascript.info/array-methods))
- [Function Argument Passing](https://awesome-repositories.com/f/programming-languages-runtimes/function-argument-passing.md) — Explains the mechanisms for passing arguments and wrapping functions to forward calls. ([source](https://javascript.info/arrow-functions))
- [Argument Unpacking](https://awesome-repositories.com/f/programming-languages-runtimes/function-argument-passing/argument-unpacking.md) — Covers the use of rest and spread operators to collect and unpack variable function arguments. ([source](https://javascript.info/advanced-functions))
- [Element Search](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-structure-type-helpers/data-type-utilities/array-element-finding/predicate-based-element-testing/element-search.md) — Instructs on locating specific items or matches within arrays using values or predicate functions. ([source](https://javascript.info/array-methods))
- [Type Validation](https://awesome-repositories.com/f/programming-languages-runtimes/type-validation.md) — Teaches how to distinguish between standard objects and arrays to ensure correct data structure usage. ([source](https://javascript.info/array-methods))

### Software Engineering & Architecture

- [Document Object Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/object-oriented-foundations/object-oriented-programming/structure-definitions/document-object-interfaces.md) — Provides interfaces for manipulating web page elements through the standardized Document Object Model. ([source](https://javascript.info))
- [Asynchronous Operation Execution](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-operation-execution.md) — Instructs on non-blocking execution of tasks using promises to handle results without stalling the main thread. ([source](https://javascript.info/async-await))
- [Async Flow Patterns](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-task-managers/async-flow-patterns.md) — Teaches coding patterns for managing sequential and concurrent asynchronous operations using modern JavaScript syntax. ([source](https://javascript.info/async))
- [Closure-Based State Encapsulations](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/scope-and-hierarchy-management/closure-based-state-encapsulations.md) — Teaches how to use closures to encapsulate private state and persist data between executions. ([source](https://javascript.info/advanced-functions))
- [Lexical Scoping](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/scope-and-hierarchy-management/closure-based-state-encapsulations/lexical-scoping.md) — Covers the fundamental language mechanism of lexical scoping and its use in maintaining context. ([source](https://javascript.info/arrow-functions))
- [Asynchronous Error Handlers](https://awesome-repositories.com/f/software-engineering-architecture/error-handling/error-management/asynchronous-error-handlers.md) — Teaches techniques for capturing and managing errors in asynchronous promise-based flows. ([source](https://javascript.info/async-await))
- [Function Decorators](https://awesome-repositories.com/f/software-engineering-architecture/function-decorators.md) — Teaches how to wrap functions with additional logic to extend behavior. ([source](https://javascript.info/advanced-functions))
- [Node Type Identification](https://awesome-repositories.com/f/software-engineering-architecture/trees/tree-node-reorderers/dom-node-manipulators/node-type-identification.md) — Explains how to extract tag names and identify different types of DOM nodes. ([source](https://javascript.info/basic-dom-node-properties))

### User Interface & Experience

- [Browser Event Listeners](https://awesome-repositories.com/f/user-interface-experience/browser-event-listeners.md) — Provides instruction on listening for user interactions like mouse clicks and keyboard input to trigger behaviors. ([source](https://javascript.info))
- [DOM Manipulators](https://awesome-repositories.com/f/user-interface-experience/dom-manipulators.md) — Provides comprehensive instruction on programmatically modifying the browser's document object model in real time.
- [Alert Dialogs](https://awesome-repositories.com/f/user-interface-experience/alert-dialogs.md) — Explains the use of alert modals to display important messages to the user. ([source](https://javascript.info/alert-prompt-confirm))
- [Responsive Grid](https://awesome-repositories.com/f/user-interface-experience/flexbox-layouts/responsive-grid.md) — Teaches how to create page layouts that adapt fluidly across screen sizes using CSS Grid and Flexbox.
- [Text Input Dialogs](https://awesome-repositories.com/f/user-interface-experience/modal-dialogs/text-input-dialogs.md) — Demonstrates how to use prompt dialogs to collect text input from the user. ([source](https://javascript.info/alert-prompt-confirm))
- [User Confirmation Dialogs](https://awesome-repositories.com/f/user-interface-experience/user-confirmation-dialogs.md) — Covers the implementation of confirmation dialogs for capturing binary user decisions. ([source](https://javascript.info/alert-prompt-confirm))

### Web Development

- [Browser APIs](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-apis.md) — Provides comprehensive instruction on interacting with standardized browser interfaces and built-in web platform APIs.
- [Browser Storage](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-apis/browser-storage.md) — Provides practical lessons on persisting client-side data using cookies, web storage, and indexed databases. ([source](https://javascript.info))
- [DOM Attribute Management](https://awesome-repositories.com/f/web-development/dom-attribute-management.md) — Teaches how to read and update standard HTML attribute values through direct DOM properties. ([source](https://javascript.info/basic-dom-node-properties))
- [Visibility Control](https://awesome-repositories.com/f/web-development/dom-element-manipulators/visibility-control.md) — Teaches how to toggle whether an element is rendered by modifying its hidden state or display styles. ([source](https://javascript.info/basic-dom-node-properties))
- [DOM Node Identification](https://awesome-repositories.com/f/web-development/dom-node-identification.md) — Instructs on using numeric identifiers to distinguish between element, text, and comment nodes in the DOM. ([source](https://javascript.info/basic-dom-node-properties))
- [Dynamic DOM Manipulation](https://awesome-repositories.com/f/web-development/dynamic-dom-manipulation.md) — Teaches tools and techniques for modifying DOM elements based on application state changes. ([source](https://javascript.info))
- [Frontend Development Guides](https://awesome-repositories.com/f/web-development/frontend-development-guides.md) — Offers practical instructional guides on managing browser data and implementing frontend application logic.
- [Web Components](https://awesome-repositories.com/f/web-development/web-components.md) — Guides the creation of reusable custom elements using the Web Components standard. ([source](https://javascript.info))
- [DOM Element Manipulators](https://awesome-repositories.com/f/web-development/dom-element-manipulators.md) — Teaches how to programmatically replace and manipulate HTML elements within the document tree. ([source](https://javascript.info/basic-dom-node-properties))
- [DOM Content Updating](https://awesome-repositories.com/f/web-development/dom-element-manipulators/dom-content-updating.md) — Provides instruction on updating the internal content of DOM elements using HTML and text. ([source](https://javascript.info/basic-dom-node-properties))
- [Web Components](https://awesome-repositories.com/f/web-development/frontend-development-tools/frontend-frameworks/component-authoring/web-components.md) — Instructs on standards and utilities for creating reusable, encapsulated custom elements using the Web Components API. ([source](https://javascript.info))
- [Network Request Executions](https://awesome-repositories.com/f/web-development/network-request-executions.md) — Provides practical lessons on executing network requests to handle real-time and asynchronous data transfers. ([source](https://javascript.info))
