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