时间:2021-05-25
先看一个es6规范下三点运算符的使用实例:
let fun=function(a,...list){ console.log(a,list);};fun('0','a','b','c');//0 [a,b,c]以上可以看到我们现在在定义函数对象时可以动态设置参数的个数了:第一个参数a是普通参数(忽略),
大家可以看到第二个参数list前面有三个点 “...”,这种写法在es6规范中有两个用途
1 . 作为参数使用。
2 . 作为拓展运算符使用。
● 三点--作为参数:
let fun1=function(...args){ for(let arg of args){ console.log(arg); }; console.log(args)};fun1('a','b','c');//a b c,[a,b,c]fun1(1,2);//1 2,[1,2] ...args表示了所有的形参,不管传入多少参数,都可以通过args进行遍历得到,args则集合所有的参数组成参数数组let fun2=function(arr,...args){ console.log(arr); console.log(args);};fun2(1,2,3);//1, [2,3]fun2(1);//1, []当...args有其他参数时,rest参数args数组集合除去前面参数之后的参数。let fun3=function(arr1,..args,arr2){ console.log(args);}//此时报错!切记,三点作为rest参数的时候,其后不能再有任何参数,只能作为最后一个角色出现![x,...y]=[1,2,3];console.log(y);//[2,3][x,...y,z]=[1,2,3];//报错,Rest element must be last element in array//作为参数,三点运算符可以函数,解构赋值等方面发挥重要作用。‘人如其名',rest表示剩下的,//它把剩下的任意数量的参数推入数组,所以也继承了数组的方法。rest参数只能出现在最后一位,//不然会报错,当然以扩展运算的身份出现时另当别论。● 三点--作为拓展运算符使用:
let arr=[1,2,3];console.log(...arr);//1, 2, 3返回数组中的各项let a=[2,3];console.log(1,...a,4);//1,2,3,4扩展运算符可以放在中间let divs=document.querySelectorAll('div');[...divs];//Array[300],[]可以将divs转为数组解构;console.log(...divs);//div1,div2....遍历divs各项let set=new Set([1,2,3,3]);[...set];//返回数组[1,2,3],可以将set数据结构转化为数组let map=new Map([[1,'a'],[2,'b'],[3,'c']]);[...map.keys];//返回[1,2,3],属性数组;[...map.values];//返回[a,b,c],value数组[...'wbiokr'];//["w", "b", "i", "o", "k", "r"]遍历字符串,返回各个字符;let str='abc';['aaa',...str,'ccc'];//[aaa, a, b, c, ccc]扩展运算符位置比较任性//三点的扩展运算符,把数组或者类数组对象展开成一系列逗号隔开的值序列,它好比rest参数时候的逆运算。以上这篇基于es6三点运算符的使用方法(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JavaScript扩展运算符用法。分享给大家供大家参考,具体如下:扩展运算符格式扩展运算符格式很简单,就是三个点(…)重点:需要ES6语法支持扩
本文实例讲述了es6数组之扩展运算符操作。分享给大家供大家参考,具体如下:扩展运算符(spread)是三个点(…)。它好比rest参数的逆运算,将一个数组转为用
ES6的扩展运算符可以说是非常使用的,在给多参数函数传参,替代Apply,合并数组,和解构配合进行赋值方面提供了很好的便利性。扩展运算符就是三个点“...”,就
本文实例讲述了ES6扩展运算符用法。分享给大家供大家参考,具体如下:扩展运算符用三个点号表示,功能是把数组或类数组对象展开成一系列用逗号隔开的值,扩展运算符有以
二维数组降维使用数组实例方法concat和ES6扩展运算符降维letarr=[1,2,[3,4],5];letarr1=[].concat(...arr);//