ECMAScript 2018(ES9)教程

阅读时长 3 分钟读完

ECMAScript是JavaScript的标准化版本,ES9是其第9个版本。在本文中,我们将详细介绍ES9的新特性,并提供示例代码和学习指导。

异步迭代

ES9引入了异步迭代器。这意味着我们可以使用for-await-of语句来迭代异步生成器中的值。

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

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

在上面的示例中,我们定义了一个异步生成器asyncGenerator,它返回三个值。然后我们使用for-await-of语句来迭代异步生成器中的值,并将其打印到控制台上。

Rest/Spread 属性

ES9允许我们在对象字面量中使用Rest/Spread属性,这使得我们可以更方便地操作对象。

在上面的示例中,我们使用Rest属性将person对象中的name属性解构出来,并将其余属性存储在rest变量中。然后我们使用Spread属性将person对象展开,并添加country属性,创建一个新的对象newPerson

Promise.prototype.finally()

ES9引入了Promise.prototype.finally()方法,它允许我们在Promise完成或拒绝后执行代码,而不管Promise的结果如何。

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

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

在上面的示例中,我们定义了一个返回Promise的函数fetchData,并使用.then().catch()方法来处理Promise的结果和错误。然后我们使用.finally()方法在Promise完成或拒绝后执行代码。

其他变化

除了上述功能之外,ES9还引入了一些其他变化,例如:

  • 正则表达式命名捕获组
  • 原生Promise支持Symbol.species
  • Function.prototype.toString()现在返回精确的源代码
  • Object.fromEntries()方法可以将键值对数组转换为对象

结论

ES9引入了一些新的功能,包括异步迭代、Rest/Spread属性、Promise.prototype.finally()等等。这些功能可以使我们更轻松地编写更高效的JavaScript代码。我们希望本文能为您提供ES9的详细介绍和学习指导。

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

纠错
反馈