2022年6月22日,第122届Ecma大会批准了ECMAScript 2022语言规范,这意味着它现在已经正式成为一种标准。
这篇博文解释了其中的新内容。
ECMAScript 2022有哪些新内容?
-
类的新成员。
-
私有槽检查("私有字段的人体工程学品牌检查")。下面的表达式检查
obj是否有一个私有槽#privateSlot。#privateSlot in obj -
模块中的顶层
await。我们现在可以在模块的顶层使用await,不必再输入异步函数或方法。 -
error.cause:Error和它的子类现在可以让我们指定是哪个错误导致了当前的错误。new Error('Something went wrong', {cause: otherError}) -
可索引值的方法
.at(),让我们在给定的索引处读取一个元素(就像括号运算符[]),并支持负的索引(与括号运算符不同)。> ['a', 'b', 'c'].at(0) 'a' > ['a', 'b', 'c'].at(-1) 'c'以下 "可索引 "类型有方法
.at():stringArray- 所有类型的数组类:
Uint8Array等。
-
正则文件匹配索引。如果我们给正则表达式添加一个标志,使用它就会产生匹配对象,记录每组捕获的开始和结束索引。
-
Object.hasOwn(obj, propKey)提供了一个安全的方法来检查一个对象obj是否有一个自己的属性,关键是propKey。与Object.prototype.hasOwnProperty相比,它适用于所有对象。