JavaScript:ES2019新增8个功能
JavaScript:ES2019新增8个功能
作为最流行的编程语言之一,也是Web主要开发语言,JavaScript不断发展,每次迭代都会获得一些新的内在变化。让我们看看ES2019的一些新提议的功能,这些功能很快就可能出现在我们日常编码中:
一、Array.flat()
您现在可以将嵌套数组按照指定的深度递归展开。默认值为1,如果要全部展开,可以使用Infinity。这个方法不会修改原始数组,但会创建一个新数组:
ct arr1 = [1, 2, [, 4]];
arr1.flat(); // [1, 2, , 4]ct arr2 = [1, 2, [, 4, [5, 6]]];
arr2.flat(2); // [1, 2, , 4, 5, 6]ct arr = [1, 2, [, 4, [5, 6, [7, 8]]]];
arr.flat(Infinity); // [1, 2, , 4, 5, 6, 7, 8]
如果数组中有一个空槽,它将会被删除:
ct arr4 = [1, 2, , 4, 5];
arr4.flat(); // [1, 2, 4, 5]
二、Array.flatMap()
一种新方法,它结合了基本的map函数,然后使用新的Array.flat()方法将结果展平为深度1:
ct arr1 = [1, 2, ];(x => [x * 4]); // [[4], [8], [12]]
arr1.flatMap(x => [x * 4]); // [4, 8, 12]
另一个更有用的例子:
ct sentence = [This is a, regular, sentence];(x => x.split( )); // [[This,is,a],[regular],[sentence]]
sentence.flatMap(x => x.split( )); // [This,is,a,regular, sentence]
三、()和()
除了从字符串两边删除空格的**String.Trim()**以外,现在还有单独的方法只能从每一边删除空格:
ct test = hello ;(); // hello;
Start(); // hello ;
End(); // hello;
四、Object.fromEntries
可以将Key-value对列表转换为对象的新方法。我们可以理解为我们已经熟悉的Object.Entries逆向操作。在转换之后,您将留下一个数组,但现在您可以将操纵的数组返回到一个对象中。让我们尝试一个例子,我们想要对所有对象属性的值进行平方
ct obj = { prop1: 2, prop2: 10, prop: 25 };let array = (obj); // [[prop1, 2], [prop2, 10], [prop, 25]]
让我们用一个简单的映射将新的键值对列表的值平方:
array = (([key, value]) => [key, Math.pow(value, 2)]);
// [[prop1, 4], [prop2, 100], [prop, 225]]
我们已经转换了对象值但我们留下了一个数组,这就是Object.fromEntries的用武之地,将数组转换回对象:
ct newObj = Object.fromEntries(array); // {prop1: 4, prop2: 100, prop: 225}
五、可选的Catch Binding
新建议允许您完全省略catch()参数,因为在很多情况下您不想使用它:
try {//...
} catch (er) {//handle error with parameter er
}try {//...
} catch {//handle error without parameter
}
六、Symbol.description
您现在可以访问Symbol的description属性,而不是使用toString()方法:
ct testSymbol = Symbol(Desc);testSymbol.description; // Desc
七、()
现在,在函数上调用toString()会完全按照定义的方式返回函数,包括空格和注释。之前:
function /* foo comment */ foo() {}(); // function foo() {}
现在是:
(); // function /* foo comment /* foo() {}
八、JSO.parse()
现在,行分隔符 (\u2028) 和段落分隔符 (\u2029) 符号正确解析,而不是导致SyntaxError。
原文地址:
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 19 条评论) |
本站网友 仓储费 | 27分钟前 发表 |
我们可以理解为我们已经熟悉的Object.Entries逆向操作 | |
本站网友 天津友谊宾馆 | 23分钟前 发表 |
[8] | |
本站网友 尿素氮 | 15分钟前 发表 |
Array.flat() 您现在可以将嵌套数组按照指定的深度递归展开 | |
本站网友 岳西美食 | 11分钟前 发表 |
让我们看看ES2019的一些新提议的功能,这些功能很快就可能出现在我们日常编码中: 一 | |
本站网友 站点卫士 | 3分钟前 发表 |
regular | |
本站网友 酷派w713 | 4分钟前 发表 |
[prop | |
本站网友 挠脚心图 | 14分钟前 发表 |
我们可以理解为我们已经熟悉的Object.Entries逆向操作 | |
本站网友 张三丰的徒弟 | 21分钟前 发表 |
本站网友 日出东方太阳能 | 8分钟前 发表 |
5] 二 | |
本站网友 ole超市 | 20分钟前 发表 |
];(x => [x * 4]); // [[4] | |
本站网友 深圳度假村 | 3分钟前 发表 |
225} 五 | |
本站网友 东丽房屋出租 | 22分钟前 发表 |
is | |
本站网友 桑东亮博客 | 13分钟前 发表 |
[5 | |
本站网友 丹东东港市 | 10分钟前 发表 |
2 | |
本站网友 蔚州老酒 | 16分钟前 发表 |
4]]; arr1.flat(); // [1 | |
本站网友 南非货币 | 18分钟前 发表 |
5]; arr4.flat(); // [1 | |
本站网友 深圳小产权房最新政策 | 13分钟前 发表 |
a | |
本站网友 华都美林湾 | 18分钟前 发表 |
2 |