【发布时间】:2021-12-01 05:30:25
【问题描述】:
我有一个关于扩展语法和对象数组的问题。
有一个对象数组,例如:
const array = [{age:50}, {age:27}]
根据这个答案:https://stackoverflow.com/a/54138394/6781511,使用扩展语法将导致referencedArray 拥有array 的浅拷贝。
const referencedArray = [...array]
那么使用扩展语法和不使用它有什么区别呢?
const referencedArray = [...array]
对
const referencedArray = array
【问题讨论】:
-
使用扩展操作符会做一个浅拷贝,不使用它......不会。
clonedArray在这种情况下是一个坏名字,它只是对同一对象的另一个引用。 -
使用扩展语法(它不是“运算符”)将有 两个 数组,使用简单赋值只有一个。
-
const referencedArray1 = [...array]; const referencedArray2 = array; array.push("hello"); console.log(referencedArray1, referencedArray2);
标签: javascript object multidimensional-array ecmascript-6