ECMAScript 2019 的新特性的探索和练习

阅读时长 6 分钟读完

ECMAScript 2019,也称为 ES2019,是 JavaScript 的最新标准。它包含了一些有趣而强大的新特性,可以使我们的 JavaScript 代码更加精简、高效和易读。在本文中,我们将探索 ES2019 的一些新特性,并提供一些有趣的练习,帮助你熟悉这些新特性并开始使用它们。

1. Array.prototype.flat()

Array.prototype.flat() 方法使用深度优先遍历策略,将嵌套的数组展平成一个新数组。默认会展平一层。如果需要展平多层,可以传递一个数字作为参数,表示要展平的层数。

练习:

给定一个包含嵌套数组的二维数组,请编写一个函数 flatten,将这个二维数组展平成一个一维数组。

2. Array.prototype.flatMap()

Array.prototype.flatMap() 方法首先使用映射函数对数组进行映射,然后将结果展平成一个新数组。

练习:

给定一个包含字符串的数组,请编写一个函数 getWords,将所有字符串按单词展开,并去重。单词之间以空格分隔。

3. Optional catch binding

在 ES2019 中,你可以写出一个 try-catch 块,但省略 catch 语句中的参数。

这在你只对错误发生的事实感兴趣,并不需要错误对象本身时非常有用。

4. Object.fromEntries()

Object.fromEntries() 方法可以把一个包含键值对的数组转换为一个对象。

练习:

给定一个对象,请编写一个函数 swapKeyValue,交换它的键和值,并返回这个新对象。

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

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

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

5. String.prototype.trimStart() 和 String.prototype.trimEnd()

ES2019 引入了两个新方法 String.prototype.trimStart()String.prototype.trimEnd(),分别可以从字符串的开头和结尾去除空格。

6. catch 关键字的可选参数

在之前的标准中,catch 关键字的参数默认是必须的,如果你不需要捕获错误对象本身,就要给它提供一个占位符。

在 ES2019 中,你可以省略它,就像在“Optional catch binding”一节中所介绍的那样。

7. Function.toString() 现在返回精确字符

在 ES2019 之前,Function.toString() 方法返回的函数字符串可能与原来的代码不完全匹配。

在 ES2019 中,Function.toString() 方法的实现已经完全被规范化,它现在返回与源代码完全精确的字符串表示形式。

总结

ES2019 引入了一些有趣而强大的新特性,可以使我们的 JavaScript 代码更加精简、高效和易读。本文中,我们探索了这些新特性并提供了一些有趣的练习,帮助你熟悉这些新特性并开始使用它们。

现在是时候在你的代码中开始使用 ES2019 的新特性了,它们将帮助你编写更加强大的 JavaScript 代码。

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

纠错
反馈