14、展开运算符(...)
展开运算符是ES6的特性,使用场景有以下:
一、函数调用中使用展开运算符 也就是三个点...
function test(a, b, c){}
let args = [0, 1, 2];
test(...args);
我们使用...展开运算符就把0,1,2分别传给了test()的参数a,b,c。
二、数组字面量使用展开运算符
1、通过加一个数组来合并数组
let arr1 = ['a', 'b', 'c'];
let arr2 = [...arr1, 'd', 'e'];//['a', 'b', 'c', 'd', 'e']
2、通过push来合并数组
let arr1 = ['a', 'b', 'c'];
let arr2 = ['d', 'e'];
arr1.push(...arr2);//['a', 'b', 'c', 'd', 'e']
三、用于解构赋值
let [arg1,arg2,...arg3] = [1, 2, 3, 4];
arg1 //1
arg2 //2
arg3 //['3','4']
注意:结构赋值中展开运算符只能用在最后。
四、类数组对象编程数组
let list = document,getElementsByTagName('div');
let arr = [...list];
五、对象展开运算符
let {x,y,...z}={x:1,y:2,a:3,b:4};
x; //1
y; //2
z; //{a:3,b:4}