不定参数
function add(...a){
console.log(...a)
}
image.png
这里面...就表示不定参数,该参数为一个数组,a为参数名,具体第几个可以用a[0]等表示,每个函数最多声明一个不定参数,而且一定要放在所有参数的末尾。
不定参数对arguments对象的影响
有不定参数,arguments对象包含所有传入的参数
function add(b,...a){
console.log(...a)
console.log(arguments[0],arguments[1])
}
image.png
展开运算符
可以获取数组中的所有数据
let values = [3,54,45,23,6453,324]
console.log(Math.max(...values)) //6453
还可以加参数
console.log(Math.max(...values,543545,43,54,23)) //543545
对象展开复制
const obj1 = {
a: 10,
b: 20
};
const obj2 = {
...obj1,
c: 30
};
console.log(obj2); // {a: 10, b: 20, c: 30}
合并对象 类似于object.assign
const obj1 = {a: 10};
const obj2 = {b: 20};
const obj3 = {c: 30};
// ES2018
console.log({...obj1, ...obj2, ...obj3}); // → {a: 10, b: 20, c: 30}
// ES2015
console.log(Object.assign({}, obj1, obj2, obj3)); // → {a: 10, b: 20, c: 30}
网友评论