JavaScript and WebAssembly features

This section explains the latest new features in JavaScript, the programming language specified by ECMA-262 (ECMAScript) and ECMA-402 (the ECMAScript Internationalization API), and in WebAssembly (Wasm).

We aim to provide concise explanations of new language features with easy-to-understand code examples. For more in-depth documentation, please refer to the external links in each explainer.

  1. Subsume JSON a.k.a. JSON ⊂ ECMAScript ES2019
  2. Intl.NumberFormat Intl
  3. globalThis ECMAScript
  4. Weak references and finalizers ECMAScript
  5. Stable Array.prototype.sort ECMAScript ES2019
  6. Symbol.prototype.description ECMAScript ES2019
  7. Object.fromEntries ECMAScript ES2019
  8. Promise combinators ECMAScript ES2020
  9. Array.prototype.flat and Array.prototype.flatMap ECMAScript ES2019
  10. Numeric separators ECMAScript
  11. String.prototype.matchAll ECMAScript ES2020
  12. Intl.ListFormat Intl
  13. Public and private class fields ECMAScript
  14. Intl.RelativeTimeFormat Intl
  15. Well-formed JSON.stringify ECMAScript ES2019
  16. JavaScript modules ECMAScript ES2015
  17. BigInt: arbitrary-precision integers in JavaScript ECMAScript ES2020
  18. Optional catch binding ECMAScript ES2019
  19. String.prototype.trimStart and String.prototype.trimEnd ECMAScript ES2019
  20. Revised Function.prototype.toString ECMAScript ES2019
  21. Dynamic import() ECMAScript ES2020
  22. Promise.prototype.finally ECMAScript ES2018
  23. Intl.PluralRules Intl
  24. Object rest and spread properties ECMAScript ES2018