Quiz

使用展开语法 (Spread syntax) 的好处是什么? 它与剩余语法 (Rest syntax) 有何不同?

Topics
JavaScript
在GitHub上编辑

ES2015 的展开语法在函数式范式的编码中非常有用,因为我们可以很容易地创建数组或对象的副本,而不需要借助于Object.createslice或库函数。 此语言功能经常用于 Redux 和 RxJS 项目。

function putDookieInAnyArray(arr) {
return [...arr, 'dookie'];
}
const result = putDookieInAnyArray(['I', 'really', "don't", 'like']); // ["I", "really", "don't", "like", "dookie"]
const person = {
name: 'Todd',
age: 29,
};
const copyOfTodd = { ...person };

ES2015 的剩余语法提供了一个短语,用于包含任意数量的参数传递给函数。 它就像展开语法的倒数,把数据塞进一个数组,而不是把一个数组的数据拆开,它在函数参数中起作用,也在数组和对象的去结构化赋值中起作用。

function addFiveToABunchOfNumbers(...numbers) {
return numbers.map((x) => x + 5);
}
const result = addFiveToABunchOfNumbers(4, 5, 6, 7, 8, 9, 10); // [9, 10, 11, 12, 13, 14, 15]
const [a, b, ...rest] = [1, 2, 3, 4]; // a: 1, b: 2, rest: [3, 4]
const { e, f, ...others } = {
e: 1,
f: 2,
g: 3,
h: 4,
}; // e: 1, f: 2, others: { g: 3, h: 4 }
在GitHub上编辑