ECMAScript 2018 及其特性解析

阅读时长 4 分钟读完

ECMAScript 2018 (或称ES9) 是 ECMA 国际标准组织于2018年6月发布的最新的JavaScript标准。此标准介绍了一些新的语言特性和API,下面将逐一介绍。

Rest/Spread 属性

Rest/Spread 属性是一种使用三个点 (...) 表示的新语法。它可用于函数的定义和调用以及对象字面量和数组字面量。它的作用是可以将对象展开,或者在参数列表中捕获任意多个参数,并将其转换为数组。

对象展开

函数参数

数组字面量

异步迭代

ECMAScript 2018 引入了 for-await-of 循环来处理异步迭代。它通过 await 执行迭代并等待 Promise 完成。这个特性可以帮助我们更方便地处理异步数据流。

-- -------------------- ---- -------
----- -------- ----------- -
  ----- ---- - ----- --------------------------------------
  ----- -------- - ----- ------------
  ------ ---------
-

----- --- - ----- -- -- -
  ----- -------- - ----- ------------
  --- ----- ------ ---- -- --------- -
    -- ---------
  -
-

Promise.prototype.finally()

在 ES9 中,Promise 实例新增了一个 finally 方法。它接收一个回调函数,在前两个 then 或 catch 方法执行完毕后调用该函数,无论 Promise 是 resolved 还是 rejected 都会执行该回调。

正则表达式命名捕获组

ES9 增加了一项非常实用的正则表达式特性-命名捕获组,它允许我们使用命名而非索引来定义捕获组。

其他语言特性

此外,ES9 还包括了一些其他的语言特性,例如:

  • Object.values() / Object.entries(): Object.values() 返回一个包含对象所有的值的数组, Object.entries() 返回一个包含所有 [ key,value ] 对的数组 。
  • 支持 Unicode 字符
  • Array.prototype.sort() 的行为更改:比较器函数现在可以返回 0。

结论

ECMAScript 2018 引入了一些非常实用的新特性,让 JavaScript 变得更加灵活和强大。尽管不是所有特性都适用于所有项目,但它们可以帮助我们更轻松、更方便地编写 JavaScript 代码。建议开发者们根据项目需要合理使用这些特性,以获得更好的编程体验。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6710bdffad1e889fe2fbc7f2

纠错
反馈