
Содержание статьи
от Парта Шандиля

Многие путают в том, что такое JavaScript и что такое ECMAScript. Иногда сложно сказать, как они связаны друг с другом и какую роль играют ECMA International и TC39 в стандартизации JavaScript.

В этой публикации блога я собираюсь обсудить TC39 и его вклад в ECMAScript.
Давайте начнем со всех основных терминов, которые используются, когда речь идет о JavaScript и ECMAScript.

Что такое ECMAScript?
ECMAScript — это стандартный язык сценариев, разработанный в сотрудничестве Netscape и Microsoft и в основном производный от JavaScript Netscape. JavaScript – это широко распространенный язык сценариев, используемый на веб-страницах, чтобы влиять на то, как они выглядят или ведут себя для пользователя.
ECMA-262 – это стандарт, опубликованный ECMA International. Он содержит спецификацию языка сценариев общего назначения, известного как ECMAScript.

Еще немного о JavaScript
JavaScript – это язык сценариев, который позволяет создавать динамически обновляемое содержимое, управлять мультимедиа, анимировать изображения и делать почти все остальное. (Хорошо, не все, но удивительно, чего можно добиться с помощью нескольких строк кода JavaScript.)
Что такое ECMA?
ECMA является организацией по стандартизации информационных и коммуникационных систем. Целью ECMA является разработка стандартов и технических отчетов для облегчения и стандартизации использования информационно-коммуникационных технологий и бытовой электроники. Он поощряет правильное использование стандартов путем воздействия на среду, в которой они применяются, и публикует эти стандарты и отчеты в электронном и печатном виде.
А теперь давайте представим трудолюбивых людей, стоящих за ECMAScript: TC39.

Что такое TC 39?
TC39 означает Технический комитет под номером 39. Он является частью ECMA, учреждения, стандартизирующего язык JavaScript в соответствии со спецификацией «ECMAScript». Он работает над стандартизацией универсального, межплатформенного, независимого от поставщика языка программирования, который является ECMAScript. Это включает в себя синтаксис языка, семантику, библиотеки и дополнительные технологии, поддерживающие язык.
ТК 39 работает дальше:
- Поддержка и обновление стандарта для языка программирования ECMAScript.
- Выявление, разработка и поддержка стандартов библиотек, расширяющих возможности ECMAScript.
- Разработка наборов тестов, которые могут быть использованы для проверки правильности внедрения этих стандартов.
- Внесение выбранных стандартов в комитет ISO/IEC JTC 1.
- Оценка и рассмотрение предложений по дополнительным или дополнительным технологиям.
С момента появления ES6 TC 39 оптимизировал процесс подготовки предложений, чтобы соответствовать современным ожиданиям. Новый процесс использует сверхмножество HTML для форматирования предложений. Они используют запросы на подключение GitHub, что помогло увеличить участие сообщества. Также выросло количество внесенных предложений.
Теперь спецификация является стандартом жизни, а это значит, что предложения воспринимаются быстрее, и мы не тратим годы на ожидание новой спецификации.
Более общий вид
Прочитав спецификацию ECMAScript, вы научитесь создавать язык сценариев Читая документацию JavaScript, вы узнаете, как использовать этот язык сценариев.

Обработка предложения

Этап 0: Соломник
Любое обсуждение, идея, изменение или дополнение, которые еще не были представлены как официальное предложение, на этом этапе считаются предложением «соломинного человека». Только члены TC39 могут создавать эти предложения, и на сегодняшний день существует более десяти активных предложений.
Этап 1: Предложение
На этом этапе предложение формализуется и ожидается, что оно будет решать сквозные проблемы, взаимодействия с другими предложениями и проблемы реализации. Предложения на этом этапе определяют отдельную проблему и предлагают конкретные решения этой проблемы.
На этой стадии предложение часто включает в себя высокоуровневое описание API, примеры использования и обсуждения внутренней семантики и алгоритмов. Эти предложения, по всей вероятности, существенно изменятся по мере прохождения процесса.
Этап 2: Черновик
Предложения на этом этапе должны содержать первоначальный проект спецификации.
На этом этапе разработчикам разумно начать экспериментировать с реальными реализациями при выполнении. Реализация может быть во многих формах: полизаполнение, код пользователя, который искажает среду выполнения, чтобы соответствовать предложению, реализация двигателя (что обеспечивает поддержку предложения), или это может быть поддержка компилятором во время сборки, таким как Babel.
3 этап: Кандидат
Предложения на этом этапе являются рекомендациями кандидатов. На этой продвинутой стадии редактор спецификации и рецензенты должны подписать окончательную спецификацию. Предложение Этапа 3 вряд ли изменится, кроме устранения проблем, обнаруженных в дикой природе.
Исполнители также должны проявить интерес к предложению — предложение без поддержки со стороны реализаторов мертвого в воде. На практике предложения переходят на этот уровень посредством по крайней мере одной реализации в браузере, полизаполнения высокой точности или поддержки транспилятора при создании, таких как Babel.

Этап 4: Готово
В конце концов предложения переходят на эту стадию, когда есть по крайней мере две независимые реализации, которые проходят приемочные тесты.
Что дальше?
Предложения, прошедшие до этапа 4, будут включены в следующую версию ECMAScript. Когда спецификация проходит ежегодную ратификацию в качестве стандарта, предложение ратифицируется как ее часть.

Вот как принимаются идеи развития языка ECMAScript и прилагаются к следующей версии ECMAScript. И мы все благодарны TC39 за работу, которая неоценима.
Мы подошли к концу нашего обсуждения TC39 и его вклада в ECMAScript.
Спасибо, что прочли.
Источники: TC 39 Process, ECMA International
