05 JavaStrip ES6数组扩展运算符

扩展运算符 ...

1、是rest参数的逆运算,将数组转为用逗号分隔的参数序列;

function fn(...num){
    console.log(num);  //[1,2,3,4,5,6]
}
fn(1,2,3,4,5,6);            
console.log(...[1,2,3,4,5,6]);   //1,2,3,4,5,6
console.log(1,...[2,3,4],5);     //1,2,3,4,5

我们发现reset参数与扩展运算符,正好相反,reset是把一个个的参数聚拢成一个数组,而扩展运算符却把数组分割成一个个单独的数字。

2、它的内部使用的是for of循环;

const [...num]=[1,2,3];
console.log(num);
            
const result=[];
for(let v of num){
    result.push(v);
}
console.log(result);    //[1,2,3]

2、把类数组转成真正数组;

<ul>
    <li></li>
    <li></li>
    <li></li>
</ul>
<script>

const lis=[...document.querySelectorAll("li")];
console.log(lis);    //[ li, li,li ]

</script>

3、替代apply;

console.log(Math.max(12,65,23,79,92));  //92
const arr=[12,65,23,79,92];
console.log(Math.max.apply(null,arr));  //92
console.log(Math.max(...arr));  //92

4、替代数组的concat方法;

总结

函数中的参数reset就是把参数中有序有逗号隔开的参数转为数组,而单独使用扩展运算符,就是把数组,转化为有逗号的序列。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容