猿问

合并数组用 concat 还是 扩展运算符比较好?

let arr1 = [1, 2];let arr2 = [3, 4];// concatarr1 = arr1.concat(arr2);// 扩展运算符arr1 = [...arr1, ...arr2];// 或者arr1.push(...arr2);

哪种更好,为什么?性能?


慕婉清6462132
浏览 1050回答 1
1回答

至尊宝的传说

先看下你说的这三种方式的差别:这个差别的话存在俩中环境中:第一种,你的实际使用环境还是es5的环境,那么你转一下看看babel怎么处理的;你用babel转成es5看看扩展运算符[...arr1, ...arr2] ==> [].concat(arr1, arr2)arr1.push(...arr2) ==> arr1.push.apply(arr1, arr2)这种差别的情况下可以看到,好处:扩展运算符看起来更直观,可读性更好,调用的api更少,简洁。性能:可能需要你做一下评估,我没做这个,第二种: 你的实际使用环境已经支持了扩展运算符,就是说原生实现了这个操作符,那么好处: 大家都用这个,提升你在其他前端心中的形象,你是一个与时俱进的人,不会被淘汰。。。性能: 找支持这个语法的环境去测一下,比如node环境另外说一下,性能的话,你也可以通过一些常用的比较方法来判断。比如可以通过对一个数组连接10000万个元素看看不同方式花费的时间,去评估一下;这个事情你自己可以做一下。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答