Features
· 3 min read
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.
- JavaScript's New Superpower: Explicit Resource Management 09 May 2025 ECMAScript
- Iterator helpers 27 March 2024 ECMAScript
- Import attributes 31 January 2024 ECMAScript
- RegExp v flag with set notation and properties of strings 27 June 2022 ECMAScript
- Finding elements in Arrays and TypedArrays 27 October 2021 ECMAScript
- at method for relative indexing 13 July 2021 ECMAScript
- Error causes 07 July 2021 ECMAScript
- Object.hasOwn 01 July 2021 ECMAScript
- Import assertions 15 June 2021 ECMAScript
- Private brand checks a.k.a. #foo in obj 14 April 2021 ECMAScript
- Class static initialization blocks 30 March 2021 ECMAScript
- WebAssembly integration with JavaScript BigInt 12 November 2020 WebAssembly ECMAScript
- Atomics.wait, Atomics.notify, Atomics.waitAsync 24 September 2020 ECMAScript ES2020
- Logical assignment 07 May 2020 ECMAScript ES2021
- Intl.DisplayNames 13 February 2020 Intl
- Fast, parallel applications with WebAssembly SIMD 30 January 2020 WebAssembly
- RegExp match indices 17 December 2019 ECMAScript
- String.prototype.replaceAll 11 November 2019 ECMAScript ES2021
- Top-level await 08 October 2019 ECMAScript
- Nullish coalescing 17 September 2019 ECMAScript ES2020
- Optional chaining 27 August 2019 ECMAScript ES2020
- Subsume JSON a.k.a. JSON ⊂ ECMAScript 14 August 2019 ES2019
- Intl.NumberFormat 08 August 2019 Intl
- globalThis 16 July 2019 ECMAScript ES2020
- Weak references and finalizers 09 July 2019 ECMAScript ES2021
- Stable Array.prototype.sort 02 July 2019 ECMAScript ES2019
- Symbol.prototype.description 25 June 2019 ECMAScript ES2019
- Object.fromEntries 18 June 2019 ECMAScript ES2019
- Promise combinators 12 June 2019 ECMAScript ES2020 ES2021
- Array.prototype.flat and Array.prototype.flatMap 11 June 2019 ECMAScript ES2019
- Numeric separators 28 May 2019 ECMAScript ES2021
- String.prototype.matchAll 02 February 2019 ECMAScript ES2020
- Intl.ListFormat 18 December 2018 Intl
- Module namespace exports 18 December 2018 ECMAScript ES2020
- Public and private class fields 13 December 2018 ECMAScript ES2022
- Intl.RelativeTimeFormat 22 October 2018 Intl
- Well-formed JSON.stringify 11 September 2018 ECMAScript ES2019
- JavaScript modules 18 June 2018 ECMAScript ES2015
- BigInt: arbitrary-precision integers in JavaScript 01 May 2018 ECMAScript ES2020
- Optional catch binding 27 March 2018 ECMAScript ES2019
- String.prototype.trimStart and String.prototype.trimEnd 26 March 2018 ECMAScript ES2019
- Revised Function.prototype.toString 25 March 2018 ECMAScript ES2019
- Dynamic import() 21 November 2017 ECMAScript ES2020
- Promise.prototype.finally 23 October 2017 ECMAScript ES2018
- Intl.PluralRules 04 October 2017 Intl
- Object rest and spread properties 06 June 2017 ECMAScript ES2018