22.展开运算符和剩余运算符的使用;
时间: 2023-12-15 14:48:51 浏览: 75
展开运算符(spread operator)和剩余运算符(rest operator)都使用三个点(...)符号。
展开运算符用于将一个可迭代对象(如数组、字符串或对象)展开成独立的值,例如:
```javascript
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [...arr1, ...arr2]; // [1, 2, 3, 4, 5, 6]
const str = 'hello';
const arr4 = [...str]; // ['h', 'e', 'l', 'l', 'o']
const obj1 = { foo: 'bar', baz: 42 };
const obj2 = { ...obj1, qux: true }; // { foo: 'bar', baz: 42, qux: true }
```
剩余运算符用于将多个参数或数组中的其余元素收集到一个数组中,例如:
```javascript
function sum(...nums) {
return nums.reduce((acc, val) => acc + val, 0);
}
sum(1, 2, 3); // 6
const [first, ...rest] = [1, 2, 3, 4, 5];
console.log(first); // 1
console.log(rest); // [2, 3, 4, 5]
```
阅读全文