Skip to content

tc39/ecma262

Repository files navigation

ECMAScript

Current Proposals

Proposals follow this process document.

|🚀| Proposal | Champion | Stage |---|------------------------------------------------------------------------------------ |-------------- | ------|------ | | Array.prototype.includes | Domenic Denicola, Rick Waldron | 4 | | Exponentiation Operator | Rick Waldron | 4 | | SIMD.JS - SIMD APIs + polyfill| John McCutchan, Peter Jensen, Dan Gohman, Daniel Ehrenberg |3 | | | Async Functions |Brian Terlson |3 | | | Object.values/Object.entries | Jordan Harband | 3 | | String padding | Jordan Harband & Rick Waldron | 3 | | Trailing commas in function parameter lists and calls | Jeff Morrison | 3 | | function.sent metaproperty | Allen Wirfs-Brock |2 | | | Rest/Spread Properties | Sebastian Markbage | 2 | | Object.getOwnPropertyDescriptors | Jordan Harband & Andrea Giammarchi | 2 | | ArrayBuffer.transfer | Luke Wagneer & Allen Wirfs-Brock | 1 |🚀| Additional export-from Statements| Lee Byron | 1 |🚀|Class and Property Decorators | Yehuda Katz and Jonathan Turner | 1 | |🚀| Function.prototype.toString revision| Michael Ficarra| 1 | | Observable | Kevin Smith & Jafar Husain | 1 | | String.prototype.{trimLeft,trimRight} | Sebastian Markbage | 1 | | Class Property Declarations| Jeff Morrison| 1 | | String#matchAll | Jordan Harband | 1 |🚀| Shared memory and atomics | Lars T Hansen | 1 |🚀|Callable class constructors | Yehuda Katz and Allen Wirfs-Brock | 1 | | System.global | Jordan Harband | 1

🚀 means the champion thinks it's ready to advance but has not yet presented to the committee.

See also the stage 0 proposals.

Contributing New Proposals

If you are a TC39 member representative, just submit a pull request for your proposal, probably to the stage0.md document.

Ecma TC39 accepts Strawman Proposals from non-member individuals who have accepted the TC39 copyright and patent policies. Currently all ECMAScript related technical work is done by the TC39 RF TG (Royalty Free Task Group), for which the following IPR Policies apply:

If you wish to submit a proposal and are not a representative of a TC39 member, here are the steps you need to take:

  1. Read the TC39 process document.
  2. Register as a TC39 contributor (it is not necessary to submit the contribution as attachment to the form)
  3. Submit a pull request here for your strawman proposal.

Developing the Specification

After cloning, do npm install to set up your environment. You can then do npm run build to build the spec or npm run watch to set up a continuous build. The results will appear in the out directory, which you can use npm run clean to delete.