1.不定参数
function add(...a){
    console.log(...a)
}这里面 ... 就表示不定参数,该参数为一个数组,a为参数名,具体第几个可以用a[0]等表示,每个函数 最多声明一个 不定参数,而且一定要放在所有参数的 末尾 。
- 不定参数对arguments对象的影响
 
有不定参数,arguments对象包含所有传入的参数
function add(b,...a){
    console.log(...a)
    console.log(arguments[0],arguments[1])
}2.展开运算符
- 可以获取数组中的所有数据
 
let values = [3,54,45,23,6453,324]
console.log(Math.max(...values))  //6453- 还可以加参数
 
console.log(Math.max(...values,543545,43,54,23))  //5435453.对象展开复制
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}            
                
            
        
评论 (0)