TC39

Ecma International TC39 — это группа, состоящая из JavaScript-разработчиков, авторов имплементаций, исследователей и других участников, сотрудничающих с сообществом для поддержки и развития JavaScript.

Мы являемся частью
Ecma International

Принять участие

TC39 приветствует любую помощь от сообщества JavaScript: отзывы и мнения о существующих предложениях, улучшение документации, тестирование или имплементации, или даже идеи для новых возможностей языка. Подробности смотрите в нашем руководстве для желающих принять участие в проекте.

Для участия в заседаниях TC39 в качестве члена необходимо присоединиться к Ecma.

Спецификации

Мы разрабатываем спецификацию JavaScript (формально называемый ECMAScript) на GitHub и проводим встречи каждые два месяца для обсуждения предложений. Чтобы узнать больше о процессе, пожалуйста, ознакомьтесь с пятью этапами для новых предложений по улучшению и развитию языка. Читайте наши программы заседаний и протоколы собраний для получения дополнительной информации.

Статус предложений

Текущие кандидаты в спецификацию

В этом разделе представлены предложения, которые находятся на третьем этапе нашего процесса; это означает, что они близки к завершению.
Как читать список предложений

Каждое предложение имеет ссылки на другие ресурсы. Ниже приведена таблица с примерами тегов и их значениями. При наведении на каждый тег отобразится подсказка.

Типы тегов и их значение.

Грамматика Hashbang

Авторы и чемпионы: Bradley Farias
Это предложение по стандартизации использования Shebang / Hashbang в соответствии с тем, как они фактически уже используются в некоторых CLI-окружениях JS. В настоящее время такие окружения удаляют шебанг для того, чтобы сгенерировать валидный исходный код на JS перед тем, как отдать его на исполнение JS-движкам. Это предложение позволит унифицировать и стандартизировать такое использование.

Atomics.waitAsync

Автор: Lars Hansen | Чемпионы: Shu-yu Guo, Lars Hansen
Предложение для добавления атомарной операции ожидания асинхронной операции в ECMAScript, прежде всего, для использования в агентах, в которых невозможна блокировка.

.at()

Авторы и чемпионы: Shu-yu Guo, Tab Atkins
Предложение по добавлению метода .at() во все основные перечисляемые классы (Array, String, TypedArray).

Import assertions

Авторы и чемпионы: Myles Borins, Sven Sauleau, Dan Clark, Daniel Ehrenberg
Предложение по добавлению синтаксиса для импорта модулей ES с дополнительными параметрами.

JSON Modules

Авторы и чемпионы: Sven Sauleau, Daniel Ehrenberg, Myles Borins, Dan Clark
Proposal to import JSON files as modules.

Ergonomic Brand Checks

Авторы и чемпионы: Jordan Harband
EcmaScript proposal to provide brand checks without exceptions.

Class Static Block

Авторы и чемпионы: Ron Buckton
Class static blocks provide a mechanism to perform additional static initialization during class definition evaluation. This is not intended as a replacement for public fields, as they provide useful information for static analysis tools and are a valid target for decorators. Rather, this is intended to augment existing use cases and enable new use cases not currently handled by that proposal.

Error Cause

Автор: Chengzhong Wu | Чемпионы: Ron Buckton, Chengzhong Wu, Hemanth HM
Errors will be constructed to represent runtime abnormalities. To help unexpected behavior diagnosis, errors need to be augmented with contextual information like error messages, error instance properties to explain what happened at the time. If the error were thrown from deep internal methods, the thrown error may not be straightforward to be easily conducted without proper exception design pattern. This proposal introduces a convenient way to forward the cause.

Temporal

Авторы и чемпионы: Maggie Pint, Matt Johnson, Philipp Dunkel
Date has been a long-standing pain point in ECMAScript. This proposes Temporal, a global Object that acts as a top-level namespace (like Math), that brings a modern date/time API to the ECMAScript language. For a detailed breakdown of motivations, see the proposal readme.

Accessible Object.prototype.hasOwnProperty()

Авторы: Jamie Kyle, Tierney Cyren | Чемпион Tierney Cyren
Proposal for an Object.hasOwn() method to make Object.prototype.hasOwnProperty() more accessible.

In-Place Resizable and Growable ArrayBuffers

Авторы и чемпионы: Shu-yu Guo
ArrayBuffers have enabled in-memory handling of binary data and have enjoyed great success. This proposal extends the ArrayBuffer constructors to take an additional maximum length that allows in-place growth and shrinking of buffers. Similarly, SharedArrayBuffer is extended to take an additional maximum length that allows in-place growth. The transfer method is also re-introduced here as a standard way to detach ArrayBuffers, perform zero-copy moves, and to "fix" resizable ArrayBuffer instances to ArrayBuffer instances.
Предложения на всех этапах