JavaScript 和 WebAssembly 新特性
本节介绍 JavaScript 语言中的新特性,这些语言特性定义在 ECMA-262 (ECMAScript) 和 ECMA-402 (the ECMAScript Internationalization API),以及 WebAssembly (Wasm)
我们的目标是通过 易于理解的代码示例 来提供新语言特性的 简明说明。有关更深入的文档,请参阅每个解释中的外部链接。
- Finding elements in
Array
s and TypedArrays ECMAScript at
method for relative indexing ECMAScript- Error causes ECMAScript
Object.hasOwn
ECMAScript- Import assertions ECMAScript
- Private brand checks a.k.a.
#foo in obj
ECMAScript - Class static initialization blocks ECMAScript
- WebAssembly integration with JavaScript BigInt WebAssembly ECMAScript
Atomics.wait
,Atomics.notify
,Atomics.waitAsync
ECMAScript ES2020- Logical assignment ECMAScript ES2021
Intl.DisplayNames
Intl- Fast, parallel applications with WebAssembly SIMD WebAssembly
- RegExp match indices ECMAScript
String.prototype.replaceAll
ECMAScript ES2021- Top-level
await
ECMAScript - Nullish coalescing ECMAScript ES2020
- Optional chaining ECMAScript ES2020
- Subsume JSON a.k.a. JSON ⊂ ECMAScript ES2019
Intl.NumberFormat
IntlglobalThis
ECMAScript ES2020- Weak references and finalizers ECMAScript ES2021
- 稳定的数组排序
Array.prototype.sort
ECMAScript ES2019 Symbol.prototype.description
ECMAScript ES2019Object.fromEntries
ECMAScript ES2019- Promise combinators ECMAScript ES2020 ES2021
Array.prototype.flat
和Array.prototype.flatMap
ECMAScript ES2019- Numeric separators ECMAScript ES2021
String.prototype.matchAll
ECMAScript ES2020Intl.ListFormat
Intl- Module namespace exports ECMAScript ES2020
- Public and private class fields ECMAScript ES2022
Intl.RelativeTimeFormat
Intl- Well-formed
JSON.stringify
ECMAScript ES2019 - JavaScript modules ECMAScript ES2015
- BigInt: arbitrary-precision integers in JavaScript ECMAScript ES2020
- Optional
catch
binding ECMAScript ES2019 String.prototype.trimStart
andString.prototype.trimEnd
ECMAScript ES2019- Revised
Function.prototype.toString
ECMAScript ES2019 - Dynamic
import()
ECMAScript ES2020 Promise.prototype.finally
ECMAScript ES2018Intl.PluralRules
Intl- Object rest and spread properties ECMAScript ES2018