---
tags: [Web, JavaScript, ECMAScript]
---

# JavaScript

## Primitives

- [Primitives](./primitive.md) - TC39, undefined, null, boolean and wrapper objects
- [Number](./number.md) - Number type
- [String](./string.md) - String type
- [Symbol](./symbol.md) - Symbol type
- [BigInt](./bigint.md) - BigInt type

## References

- [Array](./array.md) - Array
- [Collection](./collection.md) - Map and set
- [Temporal](./temporal.md) - Temporal and legacy date

## Expressions

- [Variable](./variable.md) - Variable hoisting, let, const, type detection and type conversion
- [Operator](./operator.md) - Operators
- [Destructuring](./destructuring.md) - Destructuring pattern matching
- [Control Flow](./control-flow.md) - Control flow

## Object

- [Prototype](./prototype.md) - OOP, prototype chain, object conversion and constructor
- [Property](./property.md) - Property descriptor and method
- [Inheritance](./inheritance.md) - Object clone, inheritance and global object
- [Class](./class.md) - Class

## Function

- [Function](./function.md) - Function

## Iterator and Generator

- [Iterator](./iterator.md) - Iterator
- [Generator](./generator.md) - Generator

## Async

- [Promise](./promise.md) - Promise
- [Async](./async.md) - Async/Await
- [Concurrency](./concurrency.md) - Web worker and race condition

## Module

- [Module](./module.md) - Module patterns

## Meta Programming

- [Proxy and Reflect](./proxy.md) - Meta programming with proxy and reflect

## Error Handling

- [Error](./error.md) - Error and exception
- [RegExp](./regexp.md) - Regular expression

## Utility

- [Utility](./utility.md) - Strict mode, timer, math, atomics, signals, URI/URL and encoding

## Functional Programming

- [Functional](./functional.md) - Functional JavaScript

## Style Guide

- [Style Guide](./style-guide.md) - Style guide

## Engine

- [Engine](./engine.md) - JavaScript engine and browser engine

## BOM and DOM

- [BOM](./bom.md) - Browser object model
- [DOM Core](./dom.md) - DOM Core
- [DOM Style](./cssom.md) - CSSOM
- [DOM Event](./event.md) - DOM events
- [DOM Observer](./observer.md) - DOM observers

## Network

- [Fetch](./fetch.md) - JSON, AJAX, and fetch
- [WebSocket](./websocket.md) - WebSocket
- [WebRTC](./webrtc.md) - WebRTC

## Media

- [Animation](./animation.md) - Animations
- [Canvas](./canvas.md) - Canvas APIs
- [Media](./media.md) - Audio and media session

## Web APIs

- [Storage](./storage.md) - Cookie, local storage and IndexDB
- [Payment](./payment.md) - Payment APIs
- [Device](./device.md) - Device APIs
