介绍:
扩展运算符spread也是三个…,它好比rest 参数的逆运算,将一个数组,伪数组转化为用逗号分隔得参数序列,对数组进行解包,扩展运算符也可以将对象解包
可用在调用函数时,传递的实参,将一个数组转化为参数序列(与rest参数的区别,一个在于形参,一个实参)
展开数组
function fn(a, b, c) {
console.log(arguments);// [Arguments] { '0': 'red', '1': 'green', '2': 'blue' }
console.log(a + b + c);// redgreenblue
}
let arr = ['red', 'green', 'blue'];
fn(...arr)
数组合并
<script>
// es5写法
let d =['a','b'];
let e =['c','d'];
let f = d.concat(e);
console.log(f);
// es6写法
let a =[1,2];
let b =[3,4];
let c=[...a,...b];
console.log(c)//[1,2,3,4]
</script>
数组克隆
let arr1 = ['a', 'b', 'c'];
let arr2 = [...arr1];
console.log(arr2); // ['a', 'b', 'c']
对象合并
let obj1 = {
a: 123
};
let obj2 = {
b: 456
};
let obj3 = {
c: 789
};
let obj = { ...obj1, ...obj2, ...obj3 };
console.log(obj);
// { a: 123, b: 456, c: 789 }