📅  最后修改于: 2023-12-03 15:16:08.558000             🧑  作者: Mango
JavaScript 扩展运算符是一种语法,用于将可迭代对象(如数组、字符串或类数组对象等)展开为函数调用或数组/对象字面量中的元素。该运算符通常用于简化代码和实现一些常见的编程模式。
扩展运算符使用 ...
符号。在函数调用中,它可以用于传递任意数量的参数。示例如下:
function myFunction(a, b, c) {
console.log(a, b, c);
}
const args = [1, 2, 3];
myFunction(...args); // 输出: 1 2 3
在数组/对象字面量中,扩展运算符可以用于将一个数组/对象的元素展开到另一个数组/对象中。示例如下:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, ...arr1];
console.log(arr2); // 输出: [4, 5, 1, 2, 3]
const obj1 = { foo: 1, bar: 2 };
const obj2 = { ...obj1, baz: 3 };
console.log(obj2); // 输出: { foo: 1, bar: 2, baz: 3 }
扩展运算符可以用于快速复制一个数组或对象,而不需要使用循环或递归。示例如下:
const arr1 = [1, 2, 3];
const arr2 = [...arr1];
const obj1 = { foo: 1, bar: 2 };
const obj2 = { ...obj1 };
扩展运算符可以用于将多个数组或对象合并成一个数组或对象。示例如下:
const arr1 = [1, 2];
const arr2 = [3, 4];
const arr3 = [...arr1, ...arr2];
const obj1 = { foo: 1 };
const obj2 = { bar: 2 };
const obj3 = { ...obj1, ...obj2 };
扩展运算符可以用于将一个字符串转换为一个元素为字符的数组。示例如下:
const str = 'hello';
const arr = [...str];
console.log(arr); // 输出: ['h', 'e', 'l', 'l', 'o']
扩展运算符可以用于将函数的参数列表转换为一个数组。示例如下:
function myFunction(a, b, c) {
const args = [...arguments];
console.log(args);
}
myFunction(1, 2, 3); // 输出: [1, 2, 3]
TypeError
。