Manuals and Specifications
Manuals and Specifications
EN
Buy EPUB/PDF
→ The JavaScript language → An introduction
Specification
The ECMA-262 specification contains the most in-depth, detailed and formalized information about JavaScript. It
defines the language.
But being that formalized, it’s difficult to understand at first. So if you need the most trustworthy source of
information about the language details, the specification is the right place. But it’s not for everyday use.
A new specification version is released every year. Between these releases, the latest specification draft is at
https://tc39.es/ecma262/.
To read about new bleeding-edge features, including those that are “almost standard” (so-called “stage 3”), see
proposals at https://github.com/tc39/proposals.
Also, if you’re developing for the browser, then there are other specifications covered in the second part of the
tutorial.
Manuals
● MDN (Mozilla) JavaScript Reference is the main manual with examples and other information. It’s great to
get in-depth information about individual language functions, methods etc.
Although, it’s often best to use an internet search instead. Just use “MDN [term]” in the query, e.g.
https://google.com/search?q=MDN+parseInt to search for the parseInt function.
Compatibility tables
JavaScript is a developing language, new features get added regularly.
● https://caniuse.com – per-feature tables of support, e.g. to see which engines support modern cryptography
functions: https://caniuse.com/#feat=cryptography.
● https://kangax.github.io/compat-table – a table with language features and engines that support those or don’t
support.
https://javascript.info/manuals-specifications 1/2
3/9/25, 11:54 AM Manuals and specifications
All these resources are useful in real-life development, as they contain valuable information about language
details, their support, etc.
Please remember them (or this page) for the cases when you need in-depth information about a particular
feature.
Comments
● If you have suggestions what to improve - please submit a GitHub issue or a pull request instead of
commenting.
● If you can't understand something in the article – please elaborate.
● To insert few words of code, use the <code> tag, for several lines – wrap them in <pre> tag, for
more than 10 lines – use a sandbox (plnkr, jsbin, codepen…)
https://javascript.info/manuals-specifications 2/2