ECMAScript & TC39

I'd love to change the world...

History time!

What is already finished?

ES2015 / ES6

  • Array.prototype.includes
  • Exponential operator (**)

ES2016 / ES7

  • Object.getOwnPropertyDescriptors
  • Object.{entries,values}
  • Shared memory and atomics
  • String.prototype.pad{End/Start}
  • Trailing commas (args and calls)
  • async / await

ES2017 / ES8

  • Asynchronous iteration

  • Promise.prototype.finally

  • RegExp: lookbehinds

  • RegExp: named capture groups

  • RegExp: s flag

  • RegExp: unicode property escapes

  • Rest and spread (...)

  • Tagged template literals change

ES2018 / ES9

  • Array.prototype.flat{,Map}
  • Function.prototype.toString revison
  • JSON superset
  • JSON.stringify revision
  • Object.fromEntries
  • Optional catch binding
  • String.prototype.trim{End,Start}
  • Symbol.prototype.description

The Process

Nearest future!

Not sure though.

Stage 3

  • BigInt
  • Hashbang Grammar
  • Legacy RegExp features
  • Private accessors
  • Private methods and fields
  • Static fields
  • String.prototype.matchAll
  • globalThis
  • import()
  • import.meta

Stage 2

  • ArrayBuffer.prototype.transfer
  • Atomics.waitAsync
  • Collection normalization
  • Decorators
  • Function.prototype.toString() censorship
  • New Set methods
  • Numeric separators
  • Promise.allSettled
  • Realms
  • RegExp Match array offsets
  • Sequence properties in Unicode property escapes
  • Temporal
  • Top-level await
  • WeakRefs
  • function.sent metaproperty
  • throw expressions

Stage 1

48 proposals

Stage 0

21 proposals

ECMAScript & TC39

By Radosław Miernik

ECMAScript & TC39

Vazco TechMeeting 2019-03-12

  • 908