array.push()和array = [...array, newItem]都是向数组末尾添加一个新元素。二者的主要区别在于原数组是否被修改。
array.push()方法会直接修改原数组,向其末尾添加新元素,没有返回值。示例代码如下:
let arr = [1, 2, 3]; arr.push(4); console.log(arr); // [1, 2, 3, 4]
而array = [...array, newItem]则不会直接修改原数组。它使用扩展运算符(...)将原数组展开为一个新数组,再添加一个新元素,最后将新数组重新赋值给原数组变量。示例代码如下:
let arr = [1, 2, 3]; arr = [...arr, 4]; console.log(arr); // [1, 2, 3, 4]
因此,如果希望保持原数组不被直接修改,且使用更简洁的语法来添加新元素,就可以选择使用array = [...array, newItem]方法。