ES6中的…(展开)语法是一种可以将数组或对象展开为函数参数或数组字面量的语法。它通常用于函数调用或数组字面量的展开。

在函数调用中,…可以将一个数组展开为函数的参数列表。例如:

js复制代码

function sum(a, b, c) {
return a + b + c;
}
const numbers = [1, 2, 3];
console.log(sum(…numbers)); // 输出:6

在这个例子中,我们将数组numbers展开为sum函数的参数列表,分别传入了123

在数组字面量中,…可以将一个数组展开为另一个数组的元素。例如:

js复制代码

const colors = [‘red’, ‘green’, ‘blue’];
const [firstColor, …otherColors] = colors;
console.log(firstColor); // 输出:red
console.log(otherColors); // 输出:[‘green’, ‘blue’]

在这个例子中,我们将数组colors展开为firstColorotherColors的值,其中firstColor的值为'red'otherColors的值为['green', 'blue']

除了在数组和函数中使用展开语法,它还可以用于对象的解构赋值中。例如:

js复制代码

const person = { name: ‘Alice’, age: 25 };
const { name, …otherProps } = person;
console.log(name); // 输出:Alice
console.log(otherProps); // 输出:{ age: 25 }

在这个例子中,我们将对象person展开为nameotherProps的值,其中name的值为'Alice'otherProps的值为{ age: 25 }