这篇文章主要介绍了ES2019中值得收藏的功能有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
ES2019规范是对JavaScript的小规模扩展,但仍带来了一些有趣的功能。本文向你展示八个ES2019的功能,这些功能可以使你的开发变得更轻松。
<强> String.prototype.trimStart()和String.prototype.trimEnd() 强>
<人力资源/>有时我们在处理字符串时需要处理多余的空格.ES2020增加了两个功能:<代码> .trimStart() 代码>和<代码> trimEnd() 代码>方法可以帮你处理这些琐事。
它们都可以帮助你修剪或删除给定字符串中的空格。<代码> trimStart() 代码>删除字符串开头的所有空格。<代码> trimEnd() 代码>将删除字符串末尾的所有空格。不过要是想去除两边的空格呢?
有两个选择第。一种是同时使用这两个ES2019功能。第二个是使用另一个字符串方法<代码>修剪()> 代码。两种方式都能给你想要的结果。
//,String.prototype.trimStart(),例子://,处理不带空格的字符串: & # 39;javascript # 39; .trimStart ()//,输出://& # 39;javascript # 39;//,处理以空格开头的字符串: & # 39;,javascript # 39; .trimStart ()//,输出://& # 39;javascript # 39;//,两边都留有空格的字符串 & # 39;,JavaScript & # 39; .trimStart ()//,输出://& # 39;JavaScript & # 39;//,以空格结尾的字符串 & # 39;JavaScript & # 39; .trimStart ()//,输出://& # 39;JavaScript & # 39;//,String.prototype.trimEnd(),例子://,处理不带空格的字符串: & # 39;javascript # 39; .trimEnd ()//,输出://& # 39;javascript # 39;//,处理以空格开头的字符串: & # 39;,javascript # 39; .trimEnd ()//,输出://& # 39;,javascript # 39;//,两边都留有空格的字符串 & # 39;,JavaScript & # 39; .trimEnd ()//,输出://& # 39;,javascript # 39;//,以空格结尾的字符串 & # 39;JavaScript & # 39; .trimEnd ()//,输出://& # 39;javascript # 39;
<强> Function.prototype.toString() 强>
<人力资源/>函数的<代码> toString() 代码>,方法已经存在了一段时间。它的作用是使你可以打印函数的代码。ES2019的不同之处在于它处理注释和特殊字符(例如空格)的方式。
过去,<代码> toString() 代码>方法删除了注释和空格,所以该函数的打印版本可能看起来与原始代码不一样。ES2019的不会再发生这种情况。它返回的值将会与原始值匹配,包括注释和特殊字符。
//,ES2019 之前: function myFunc/*, is 却;能够really a good 名字?,*/(),{ 现在,,/*,,,what 用该怎么办? */} myFunc.toString ()//,输出://,“function  myFunc (), {}“;//,ES2019: function myFunc/*, is 却;能够really a good 名字?,*/(),{ 现在,,/*,,,what 用该怎么办? */} myFunc.toString ()//,输出://,“function  myFunc/*, is 却;能够really a good 名字?,*/(),{//,,,/*,现在,what 用该怎么办? *///,}“
<强> Array.prototype.flat()和Array.prototype.flatMap() 强>
<人力资源/>数组是JavaScript的基本组成部分之一。它们有时会引起很多问题。当你必须要处理多维数组时尤其如此。甚至将多维数组转换为一维这样看似简单的任务也可能很困难。
好消息是,ES2019的两个功能使这种操作变得更容易。第一个是<代码>平()代码>方法。在多维数组上使用时,它将转换为一维。默认情况下,<代码>平()代码>只会将数组展平一级。
但是页可以指定级数,并在调用时作为参数传递。如果不确定需要多少级,也可以使用无限<代码> 代码>。
//,创建一个数组: const myArray =, (& # 39; javascript # 39;,, (& # 39; C # 39;,, & # 39; C + + & # 39;,,(& # 39;大会# 39;,,(& # 39;字节码# 39;]]]]//,展平一级: let myFlatArray =, myArray.flat (1)//,输出: console.log (myFlatArray)//,输出://,[,& # 39;javascript # 39;,, & # 39; C # 39;,, & # 39; C + + & # 39;,,[, & # 39;大会# 39;,,[,& # 39;字节码# 39;,),),)//,用参数,Infinity 展平: let myInfiniteFlatArray =, myArray.flat(无穷)//,输出: console.log (myInfiniteFlatArray)//,输出://,[,& # 39;javascript # 39;,, & # 39; C # 39;,, & # 39; C + + & # 39;,, & # 39;大会# 39;,,& # 39;字节码# 39;,]
<强> Array.prototype.flatMap() 强>
除了<代码>平()代码>方法之外,还有<代码> flatMap()>