Stage 1 proposals represent problems that the committee is interested in spending time exploring solutions to.
Proposals follow this process document.
| Proposal | Author | Champion | Last Presented |
|---|---|---|---|
export v from "mod"; statements | Lee Byron | Ben Newman John-David Dalton | July 2017 |
| Observable | Jafar Husain | Jafar Husain Mark Miller | May 2017 |
| Frozen Realms | Mark Miller Chip Morningstar Caridy Patiño | Mark Miller Chip Morningstar Caridy Patiño | March 2018 |
Math Extensions | Rick Waldron | Rick Waldron | July 2016 |
of and from on collection constructors | Leo Balter | Leo Balter | September 2016 |
Generator arrow functions (=>*) | Brendan Eich Domenic Denicola | September 2016 | |
Promise.try | Jordan Harband | Jordan Harband | November 2016 |
| Optional Chaining | Gabriel Isenberg Claude Pache Dustin Savery | Gabriel Isenberg Dustin Savery | November 2018 |
Math.signbit: IEEE-754 sign bit | JF Bastien | JF Bastien | May 2017 |
| Error stacks | Jordan Harband | Jordan Harband | January 2017 |
do expressions | Dave Herman | Dave Herman | July 2018 |
Float16 on TypedArrays, DataView, Math.hfround | Leo Balter | Leo Balter | May 2017 |
Change Number.parseInt/parseFloat to not coerce null/undefined/NaN (repo link TBD) | Brendan Eich | July 2017 | |
| Binary AST | Shu-yu Guo | Shu-yu Guo | May 2018 |
| Pipeline Operator | Daniel Ehrenberg | Daniel Ehrenberg | March 2018 |
| Extensible numeric literals | Daniel Ehrenberg | Daniel Ehrenberg | January 2019 |
| First-class protocols | Michael Ficarra | Michael Ficarra | July 2018 |
| Nullish coalescing Operator | Gabriel Isenberg | Gabriel Isenberg | March 2018 |
| Partial application | Ron Buckton | Ron Buckton | July 2018 |
| Cancellation API | Ron Buckton | Ron Buckton Brian Terlson | July 2018 |
String.prototype.codePoints | Ingvar Stepanyan | Mathias Bynens | May 2018 |
Object.freeze + Object.seal syntax | Keith Cirkel | Keith Cirkel | November 2017 |
| Block Params | Sam Goto | Sam Goto | November 2017 |
{BigInt,Number}.fromString | Mathias Bynens | Mathias Bynens | January 2018 |
Math.seededRandoms() | Tab Atkins | Tab Atkins | January 2018 |
| Maximally minimal mixins | Justin Fagnani | Justin Fagnani | January 2018 |
| Getting last element of Array | Keith Cirkel | Keith Cirkel | January 2018 |
| Collection methods | Michał Wadas | Sathya Gunasekaran | January 2018 |
| Richer Keys | Bradley Farias | Bradley Farias | January 2019 |
| Slice notation | Sathya Gunasekaran | Sathya Gunasekaran | March 2018 |
| Logical Assignment Operators | Justin Ridgewell | Justin Ridgewell | March 2018 |
| Module Keys | Mike Samuel | Mike Samuel | May 2018 |
| Class Static Block | Ron Buckton | Ron Buckton | May 2018 |
| class Access Expressions | Ron Buckton | Ron Buckton | May 2018 |
| Pattern Matching | Kat Marchán Brian Terlson | Kat Marchán Brian Terlson Sebastian Markbåge | May 2018 |
| Explicit Resource Management | Ron Buckton | Ron Buckton | July 2018 |
| Dynamic Modules | Bradley Farias | Bradley Farias | July 2018 |
| JavaScript Standard Library | Michael Saboff Mattijs Hoitink | Michael Saboff Mattijs Hoitink | July 2018 |
"use module" | Dave Herman | Dave Herman | July 2017 |
for-in mechanics | Kevin Gibbons | Kevin Gibbons | September 2018 |
uniform parsing of quasi-standard Date.parse input | Richard Gibson | Richard Gibson | September 2018 |
| JSON.parse source text access | Richard Gibson | Richard Gibson | September 2018 |
| IDL for ECMAScript | Daniel Ehrenberg | Daniel Ehrenberg | September 2018 |
| Asset References | Sebastian Markbage | Sebastian Markbage | November 2018 |
| Freezing prototypes | Kevin Gibbons | Kevin Gibbons | January 2019 |
new.initialize | Daniel Ehrenberg | Daniel Ehrenberg | January 2019 |
| Iterator helpers | Gus Caplan | Domenic Denicola | January 2019 |
Promise.any | Mathias Bynens | Mathias Bynens | March 2019 |
| Private declarations | Justin Ridgewell | Justin Ridgewell | March 2019 |