Вносить изменения в язык JavaScript сложно. Функции реализованы в различных браузерах, включая Google Chrome, Firefox, Microsoft Edge, Apple Safari и т. д. Обеспечение безопасности, удобства использования и стабильности на разных платформах является сложной задачей.

Как в JavaScript добавляются новые функции

Как ECMA International и TC39 проверяют и обрабатывают новые функции и обновления языка программирования JavaScript

JavaScript не принадлежит какой-то одной организации или юридическому лицу. Тогда как язык продолжает развиваться и идти в ногу с изменениями в технологии? Более того, существует множество браузеров (и движков JavaScript), реализующих этот язык. Изменение должно быть обновлено всеми браузерами, что является проблемой, учитывая, что они часто разрабатываются и поддерживаются различными организациями.

Введение в ECMA

ECMA (Европейская ассоциация производителей компьютеров) — это организация, которая продвигает стандарты информационных технологий и бытовой электроники. Объем стандартизации включает программное обеспечение, аппаратное обеспечение, системы хранения данных, электронику и т. д. Несколько примеров областей работы включают языки программирования, NFC (коммуникации ближнего поля), IoT и носимые технологии, описание экологических характеристик бытовой электроники и многое другое.

TC39

TC39, Технический комитет № 39, является частью ECMA. Они отвечают за стандартизацию и поддержку JavaScript. В него входят разработчики, ученые, сотрудничающие с сообществом.

Комитет разрабатывает и совершенствует спецификацию под названием ECMAScript (сокращенно ES). Реализуется различными браузерами. Часто пользуются популярностью версии ES5, ES2015 (также известная как ES6).

Новая версия ECMAScript выпускается каждый год в июньские сроки. Последняя версия спецификации — ES2021, опубликованная в июне 2021 года.

Процесс TC39

Как выбираются новые функции для добавления в язык? TC39 определил следующий процесс для определения, достижения консенсуса и добавления функций в спецификацию ECMAScript. Готовые спецификации реализуются браузерами.

Этап 0: Соломенный человек

В систему вводится идея новой спецификации или изменения существующей спецификации. Пока это не обязательно должно быть официальное предложение; Это может быть просто обсуждение. Идея не обязательно должна иметь критерии приемлемости.

Этап 1. Предложение

На этом этапе идея превращается в официальное предложение. Создается план проблемы и решения. Определены примеры и варианты использования новой спецификации.

На этом этапе не только описывается форма решения, но и перечисляются потенциальные проблемы.

На этом этапе для спецификации создается общедоступный репозиторий, обычно на GitHub.

Этап 2: черновик

На этом этапе создается исходная спецификация. Определены семантика и синтаксис. Создается API.

Этап 3. Кандидат

На этом этапе проектные работы завершаются. Комитет ожидает обратной связи от внедрения. Большинство браузеров реализуют эту функцию на этом этапе.

Этап 4: завершен

Окончательная семантика утверждается. На данном этапе принимаются только критические и редакционные изменения. Спецификация готова к официальному включению в стандарт ES (ECMAScript).

Репозиторий GitHub для предложений TC39

Пожалуйста, найдите репозиторий TC39 GitHub и полезные ссылки ниже,

  1. Список готовых предложений — ссылка
  2. Список изменений, которые планируется представить на TC39; Другими словами, список идей Этапа 0 — ссылка
  3. Список предложений этапа 1, по которым комитет (TC39) заинтересован потратить время на поиск решений — ссылка
  4. Список заброшенных или отклоненных предложений — ссылка

Ресурсы и ссылки

ECMA International — Направления работы

CanIUse.com для поддержки браузера

Имидж здания ECMA International

Процессный документ TC39

Создавайте компонуемые интерфейс и серверную часть

Не создавайте веб-монолиты. Используйте Bit для создания и компоновки несвязанных программных компонентов — в ваших любимых фреймворках, таких как React или Node. Создавайте масштабируемые и модульные приложения с мощными и приятными возможностями разработки.

Перенесите свою команду в Bit Cloud, чтобы совместно размещать и совместно работать над компонентами, а также значительно ускорить, масштабировать и стандартизировать разработку в команде. Начните с компонуемых интерфейсов, таких как Design System или Micro Frontends, или исследуйте компонуемый сервер. Попробуйте →

Узнать больше