看 ECMAScript9 让你的 JavaScript 更进一步

在 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