ECMA-262
Kindly note that the normative copy is the HTML version; the PDF version has been produced to generate a printable document.
This 14 th edition has been prepared under the Ecma RF patent policy.
Please note that for ECMAScript Edition 4 the Ecma standard number “ECMA-262 Edition 4” was reserved but not used in the Ecma publication process. Therefore “ECMA-262 Edition 4” as an Ecma International publication does not exist.
The latest drafts are available at: https://tc39.es/ecma262/. Reporters should generally only file bugs if the bug is still present in the latest drafts.
Please find hereafter the place to file bugs: https://github.com/tc39/ecma262#ecmascript.
Classification
SubcategoryECMAScript®
Technical CommitteeTC39
Online Archives
Archives
- ECMA-262, 1st edition, June 1997 — PDF file Download
- ECMA-262, 2nd edition, August 1998 — PDF file Download
- ECMA-262, 3rd edition, December 1999 — PDF file Download
- ECMA-262, 4th edition (not existing) No file available
- ECMA-262, 5th edition, December 2009 — PDF file Download
- ECMA-262, 5.1th edition, June 2011 — PDF file Download
- ECMA-262, 6th edition, June 2015 — PDF file Download
- ECMA-262, 7th edition, June 2016 — PDF file Download
- ECMA-262, 8th edition, June 2017 — PDF file Download
- ECMA-262, 9th edition, June 2018 — PDF file Download
- ECMA-262, 10th edition, June 2019 — PDF file Download
- ECMA-262, 11th edition, June 2020 — PDF file Download
- ECMA-262, 12th edition, June 2021 — PDF file Download
- ECMA-262, 13th edition, June 2022 — PDF file Download
Ecma International
Rue du Rhône 114
1204 Geneva
Switzerland
Справочники и спецификации
Материал на этой странице устарел, поэтому скрыт из оглавления сайта.
Более новая информация по этой теме находится на странице https://learn.javascript.ru/manuals-specifications.
В этом разделе мы познакомимся со справочниками и спецификациями.
Если вы только начинаете изучение, то вряд ли они будут нужны прямо сейчас. Тем не менее, эта глава находится в начале, так как предсказать точный момент, когда вы захотите заглянуть в справочник – невозможно, но точно известно, что этот момент настанет.
Поэтому рекомендуется кратко взглянуть на них и взять на заметку, чтобы при необходимости вернуться к ним в будущем.
Справочники, и как в них искать
Самая полная и подробная информация по JavaScript и браузерам есть в справочниках.
Её объём таков, что перевести всё с английского невозможно. Даже сделать «единый полный справочник» не получается, так как изменений много и они происходят постоянно.
Тем не менее, жить вполне можно если знать, куда смотреть.
Есть три основных справочника по JavaScript на английском языке:
- Mozilla Developer Network – содержит информацию, верную для основных браузеров. Также там присутствуют расширения только для Firefox (они помечены). Когда мне нужно быстро найти «стандартную» информацию по RegExp – ввожу в Google «RegExp MDN», и ключевое слово «MDN» (Mozilla Developer Network) приводит к информации из этого справочника.
- MSDN – справочник от Microsoft. Там много информации, в том числе и по JavaScript (они называют его «JScript»). Если нужно что-то, специфичное для IE – лучше лезть сразу туда. Например, для информации об особенностях RegExp в IE – полезное сочетание: «RegExp msdn». Иногда к поисковой фразе лучше добавить термин «JScript»: «RegExp msdn jscript».
- Safari Developer Library – менее известен и используется реже, но в нём тоже можно найти ценную информацию.
Есть ещё справочники, не от разработчиков браузеров, но тоже хорошие:
- http://help.dottoro.com – содержит подробную информацию по HTML/CSS/JavaScript.
- http://javascript.ru/manual – справочник по JavaScript на русском языке, он содержит основную информацию по языку, без функций для работы с документом. К нему можно обращаться и по адресу, если знаете, что искать. Например, так: http://javascript.ru/RegExp.
- https://www.quirksmode.org – информация о браузерных несовместимостях. Этот ресурс сам по себе довольно старый и, в первую очередь, полезен для поддержки устаревших браузеров. Для поиска можно пользоваться комбинацией «quirksmode onkeypress» в Google.
- https://caniuse.com – ресурс о поддержке браузерами новейших возможностей HTML/CSS/JavaScript. Например, для поддержки функций криптографии: https://caniuse.com/#feat=cryptography.
- https://kangax.github.io/compat-table – таблица с обзором поддержки спецификации ECMAScript различными платформами.
Спецификации
Спецификация – это самый главный, определяющий документ, в котором написано, как себя ведёт JavaScript, браузер, CSS и т.п.
Если что-то непонятно, и справочник не даёт ответ, то спецификация, как правило, раскрывает тему гораздо глубже и позволяет расставить точки над i.
Спецификация ECMAScript
Спецификация (формальное описание синтаксиса, базовых объектов и алгоритмов) языка JavaScript называется ECMAScript.
Вы можете спросить: «Почему спецификация для JavaScript не называется просто «JavaScript», зачем существует какое-то отдельное название?»
Всё потому, что JavaScript™ – зарегистрированная торговая марка, принадлежащая корпорации Oracle.
Название «ECMAScript» было выбрано, чтобы сохранить спецификацию независимой от владельцев торговой марки.
Спецификация может рассказать многое о том, как работает язык, и она является самым фундаментальным, доверенным источником информации.
Спецификации HTML/DOM/CSS
JavaScript – язык общего назначения, поэтому в спецификации ECMAScript нет ни слова о браузерах.
Главная организация, которая занимается HTML, CSS, XML и множеством других стандартов – Консорциум Всемирной паутины (World Wide Web Consortium, сокращённо W3C).
Информацию о них можно найти на сайте w3.org. К сожалению, найти в этой куче то, что нужно, может быть нелегко, особенно когда неизвестно в каком именно стандарте искать. Самый лучший способ – попросить Google с указанием сайта.
Например, для поиска document.cookie набрать document.cookie site:w3.org.
Последние версии стандартов расположены на домене dev.w3.org.
Кроме того, в том, что касается HTML5 и DOM/CSS, W3C активно использует наработки другой организации – WhatWG. Поэтому самые актуальные версии спецификаций по этим темам обычно находятся на https://whatwg.org/specs/.
Иногда бывает так, что информация на сайте https://dev.w3.org отличается от https://whatwg.org. В этом случае, как правило, следует руководствоваться https://whatwg.org.
Итого
Итак, посмотрим какие у нас есть источники информации.
- Mozilla Developer Network – информация для Firefox и большинства браузеров. Google-комбо: «RegExp MDN» , ключевое слово «MDN».
- MSDN – информация по IE. Google-комбо: «RegExp msdn» . Иногда лучше добавить термин «JScript»: «RegExp msdn jscript» .
- Safari Developer Library – информация по Safari.
- http://help.dottoro.com – подробная информация по HTML/CSS/JavaScript с учётом браузерной совместимости. Google-комбо: «RegExp dottoro» .
- http://javascript.ru/manual – справочник по JavaScript на русском языке. К нему можно обращаться и по адресу, если знаете, что искать. Например, так: http://javascript.ru/RegExp. Google-комбо: «RegExp site:javascript.ru» .
Спецификации содержат важнейшую информацию о том, как оно «должно работать»:
- JavaScript, современный стандарт ES5 (англ), и предыдущий ES3 (рус).
- HTML/DOM/CSS – на сайте https://w3.org. Google-комбо: «document.cookie site:w3.org» .
- …А самые последние версии стандартов – на https://dev.w3.org и на https://whatwg.org/specs/.
То, как оно на самом деле работает и несовместимости:
Поддержка современных и новейших возможностей браузерами: