ecma262
Status, process, and documents for ECMA-262
Source of the ECMA-262 spec that formally defines JavaScript. Build it locally with npm and read the rendered version at tc39.es/ecma262.
This repository contains the source for ECMA-262, the official specification document that defines the ECMAScript language — which is the standard that JavaScript is built on. In other words, this is where the rules of JavaScript are written down in a formal, standards-body format. The source is processed to produce a human-readable version of the spec, available at tc39.es/ecma262.
New language features for JavaScript don't appear in the spec directly — they start as proposals. Those proposals follow the TC39 process, a multi-stage review system (Stage 0 through finished) tracked in a separate proposals repository. Anyone can contribute a new proposal by following the process outlined in the contributing guide. The repository also supports local development: cloning it and running npm install followed by npm run build produces the spec in the out directory. Community discussion happens on the ES discourse forum and a Matrix chat channel.
Where it fits
- Read the canonical JavaScript spec to settle a behavior question
- Build the spec locally to preview a proposed edit
- Submit a fix or clarification PR to ECMA-262
- Follow how a TC39 proposal lands in the language