跳到主要内容

解释JavaScript 中的展开运算符是什么?

参考答案:

展开运算符(Spread Operator)是 JavaScript ES6 中引入的一个新特性,用于将一个可迭代对象(如数组或字符串)展开到单个元素。它通常用于函数调用、数组构造、对象扩展等场景。

在数组中的应用

在数组中使用展开运算符,可以将一个数组的所有元素展开到另一个数组中。例如:

let arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5];
console.log(arr2); // 输出:[1, 2, 3, 4, 5]

此外,展开运算符还可以用于复制数组:

let arr1 = [1, 2, 3];
let arr2 = [...arr1];
console.log(arr2); // 输出:[1, 2, 3]

在函数中的应用

在函数调用中,展开运算符可以将数组的元素作为参数传递给函数。例如:

function sum(a, b, c) {
  return a + b + c;
}

let numbers = [1, 2, 3];
let result = sum(...numbers);
console.log(result); // 输出:6

在对象中的应用

展开运算符也可以用于对象,可以将一个对象的所有属性展开到另一个对象中。例如:

let obj1 = { a: 1, b: 2 };
let obj2 = { ...obj1, c: 3 };
console.log(obj2); // 输出:{ a: 1, b: 2, c: 3 }

需要注意的是,展开运算符不会复制对象的原型链上的属性,只会复制对象自身的可枚举属性。

此外,展开运算符还可以与其他运算符和语法结合使用,实现更复杂的操作。例如,可以与其他数组方法结合使用,如 concat()push()pop() 等。