展开运算符与剩余参数
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){ } 不会生效。
挑战
简单编写一个函数 ,复制 obj1 和 obj2 的属性,并返回一个包含这两个对象属性的新对象。
亲手试试
function combineObjects(obj1, obj2) {
// 在这里编写代码
}现代 JavaScript(ES6+)中的难点中的所有课
自己练习: JavaScript 在线编译器