在 JavaScript 的漫长历史中,ECMAScript9(简称 ES9)是一个重要的版本。ES9 添加了许多新特性和语言语法,使得 JavaScript 更加强大和灵活。如果你想要更好地掌握 JavaScript,那么学习 ES9 是一个必不可少的步骤。
ES9 的新特性
ES9 添加了许多新特性,下面是其中一些值得关注的内容。
异步迭代器
异步迭代器是一个新的语言特性,它允许我们以异步的方式迭代数据。在 ES9 中,我们可以使用 for await...of
循环来迭代异步迭代器。下面是一个示例:
----- --------- ---------------- - ----- -- ----- -- ----- -- - ------ ---------- - --- ----- ------ ----- -- ----------------- - ------------------- - -----
在这个示例中,我们定义了一个异步生成器函数 asyncGenerator
,它返回一个异步迭代器。然后我们使用 for await...of
循环来迭代这个异步迭代器,并打印出每个值。这个示例中的输出将会是:
- - -
Promise.prototype.finally()
Promise.prototype.finally()
是一个新的 Promise 方法,它允许我们在 Promise 完成后执行一些代码,无论 Promise 是否成功。下面是一个示例:
------------------ ----------- -- - ------------------- ----- --- --------------- -- ------------ -- ------------------- ----------- -- ------------------------
在这个示例中,我们使用 Promise.resolve()
创建了一个 Promise,然后在它的 then()
方法中打印出值并抛出一个错误。在 catch()
方法中捕获错误并打印出来,然后在 finally()
方法中打印出一个字符串。这个示例中的输出将会是:
- ------ ----- -------
Rest/Spread 属性
Rest/Spread 属性是一种新的对象语法,它允许我们使用 ...
来展开或收集对象的属性。下面是一个示例:
----- ---- - - -- -- -- - -- ----- ---- - - -------- -- - -- ----- - -- ------- - - ----- ------------------ -- - -- -- -- -- -- - - --------------- -- - ------------------ -- - -- -- -- - -
在这个示例中,我们使用 ...
来展开 obj1
的属性,并添加一个新的属性 z
,创建一个新的对象 obj2
。然后我们使用 ...
来收集 obj2
的属性,并将 x
放入一个单独的变量中,将剩余的属性放入一个名为 rest
的对象中。这个示例中的输出将会是:
- -- -- -- -- -- - - - - -- -- -- - -
如何学习 ES9
学习 ES9 的最好方法是通过实践。下面是一些建议:
阅读文档
阅读官方文档是学习 ES9 的第一步。你可以在 ECMAScript 2018 Language Specification 中找到 ES9 的规范。
尝试新特性
你可以使用 Babel 或者其他工具来尝试 ES9 的新特性。这些工具可以将 ES9 的代码转换为 ES5 或者其他版本的 JavaScript,让你可以在现代浏览器中运行它们。
学习实际应用
学习 ES9 的新特性并不是为了学习新特性本身,而是为了将它们应用到实际的项目中。你可以尝试在你的项目中使用 ES9 的新特性,并观察它们如何影响你的代码。
结论
ES9 是 JavaScript 的一个重要版本,它添加了许多新特性和语言语法,使得 JavaScript 更加强大和灵活。学习 ES9 是一个必不可少的步骤,它将让你的 JavaScript 更进一步。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6725d3342e7021665e18cf7b