const obj = {
a:[
{a1:1},
{a2:2}
]
};
const { a } = obj;
a.splice(0,1)
console.log(obj, a, a === obj.a)
// {a: Array(1)} [{…}] true
正因为 a 与 obj.a 有相同的引用地址,修改 a 才会导致 obj.a 也跟着变化,用 === 符号判断也证明了这个问题
const obj = {
a:[
{a1:1},
{a2:2}
]
};
const { a } = obj;
a.splice(0,1)
console.log(obj, a, a === obj.a)
// {a: Array(1)} [{…}] true
正因为 a 与 obj.a 有相同的引用地址,修改 a 才会导致 obj.a 也跟着变化,用 === 符号判断也证明了这个问题