ES9 (ECMAScript 2018):JS 的简明教程

· 约 4 分钟读完

ECMAScript 2018,也称为 ES9,是 JavaScript 语言的最新版本。它包含了一些新的语言特性和改进,使得编写 JavaScript 代码更加简单和高效。在本篇文章中,我们将介绍 ES9 的一些新特性及其使用方法。

异步迭代器

ES9 引入了异步迭代器,为异步操作提供了更好的支持。异步迭代器是一个具有 Symbol.asyncIterator 属性的对象,它可以通过 for await...of 循环进行迭代。代码示例如下:

上述代码中,我们定义了一个异步迭代器 asyncIterable,它可以通过 for await...of 循环进行迭代。在循环中,我们使用 console.log 输出了每个元素的值。

Promise.prototype.finally()

ES9 引入了 Promise.prototype.finally() 方法,它允许我们在 Promise 被 resolved 或 rejected 时执行一些操作。这个方法接受一个回调函数作为参数,该回调函数会在 Promise 被 resolved 或 rejected 时执行。代码示例如下:

上述代码中,我们使用 fetch 方法获取 GitHub 用户的信息,并在获取成功后输出信息。如果出现错误,则输出错误信息。无论 Promise 是 resolved 还是 rejected,finally 方法都会执行,并输出“请求结束”。

Rest/Spread 属性

ES9 引入了 Rest/Spread 属性,它们可以让我们更方便地处理对象和数组。Rest 属性可以将对象或数组中的剩余项收集到一个新的对象或数组中。Spread 属性则可以将一个对象或数组展开,以便于我们使用。代码示例如下:

上述代码中,我们使用 Rest 属性将对象中的剩余项收集到一个新的对象中,并使用 Spread 属性将两个数组展开并合并成一个新数组。

正则表达式命名捕获组

ES9 支持使用命名捕获组来匹配正则表达式中的子字符串。命名捕获组可以使用 (?<name>...) 的语法来定义,并使用 \k<name> 的语法来引用。代码示例如下:

上述代码中,我们使用命名捕获组来匹配一个日期字符串,并输出其中的年、月、日。

结语

ES9(ECMAScript 2018)是 JavaScript 语言的最新版本,它包含了一些新的语言特性和改进,使得编写 JavaScript 代码更加简单和高效。本篇文章介绍了 ES9 的一些新特性及其使用方法,希望对你有所帮助。

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