Menu
CoddyTech

展开运算符与剩余参数

Coddy 现代 JavaScript(ES6+)中的难点 课程的第 5 课,共 9 课。

在 JavaScript 中,单个 <strong>...</strong>(三个点)运算符可以用于两种用途!

展开

<strong>...</strong> 可以将数组中的元素作为单独的参数传递给函数。

let array1 = [1,2,3];
Math.max(...array1); // 与 Math.max(1,2,3) 完全相同

它还可以用于将一个数组复制到另一个数组中,或将一个对象字面量的属性复制到另一个对象字面量中。

let arr1 = [1,2,3];
let arr2 = [6,7,8];
let final = [...arr1, 4, 5, ...arr2]; // [1,2,3,4,5,6,7,8]

let obj1 = {name:"Shubham"};
let obj2= {work: "Software Development"};
let finalObj = {...name,...work}; // {name:"Shubham",work:"Software Development"}

剩余参数

<strong>...</strong> 可以用于将函数中所有剩余的参数收集到一个数组中。

function sum(a,b,...rest){
	console.log("rest parameters : ", rest); 
}

sum(1,2,3,4,5,6) //剩余参数:[3,4,5,6]

剩余参数应该始终是最后一个参数。function sum(a, ...rest , b){ } 不会生效。

challenge icon

挑战

简单

编写一个函数 ,复制 obj1 和 obj2 的属性,并返回一个包含这两个对象属性的新对象。

亲手试试

function combineObjects(obj1, obj2) {
    // 在这里编写代码
}

现代 JavaScript(ES6+)中的难点中的所有课

自己练习: JavaScript 在线编译器