This tutorial aims to help you gradually learn the language. But once you’re familiar with the basics, you’ll need other sources.
Specification
The ECMA-262 specification contains the most in-depth, detailed and formalized information about JavaScript. It defines the language.
However, because it is so structured, it might be difficult to grasp at first. So, if you’re looking for the most reliable source of language specifics, the specification is the place to go. But it’s not something you’d use every day.
A new specification version is released every year. In-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 primary handbook, which includes examples and other details. It’s fantastic to learn more about certain language functions, techniques, and so forth. It can be found at https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference.
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 parseInt
function.
Compatibility tables
JavaScript is a developing language, new features get added regularly.
To see their support among browser-based and other engines, see:
- http://caniuse.com – per-feature tables of support, e.g. to see which engines support modern cryptography functions: http://caniuse.com/#feat=cryptography.
- https://kangax.github.io/compat-table – a table with language features and engines that support those or don’t support.
All of these sites are important in real-world development since they offer relevant information on language details, support, and so on.