在JavaScript中,...被称为扩展运算符(Spread Operator)或剩余运算符(Rest Operator),具体用法取决于上下文。
- 扩展运算符(Spread Operator):它可以将一个数组或者对象的所有元素或属性展开。
例如:
let arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5]; // arr2 现在是 [1, 2, 3, 4, 5]
let obj1 = {a: 1, b: 2};
let obj2 = {...obj1, c: 3}; // obj2 现在是 {a: 1, b: 2, c: 3}
- 剩余运算符(Rest Operator):它用于从一组值(例如数组或对象属性)中获取剩余的值。
例如:
let [first, ...rest] = [1, 2, 3, 4, 5];
console.log(first); // 输出 1
console.log(rest); // 输出 [2, 3, 4, 5]
let {a, ...rest} = {a: 1, b: 2, c: 3};
console.log(a); // 输出 1
console.log(rest); // 输出 {b: 2, c: 3}
- 在函数参数中,
...也可以用作剩余参数,用于获取函数的多个参数。
例如:
let sum = function(...args) {
return args.reduce((pre, cur, index, array) => pre + cur, 0);
};
console.log(sum(1,2,3,4,5));