相关文章推荐
没读研的炒粉  ·  p = ...·  1 年前    · 
飞奔的灯泡  ·  std::map ...·  1 年前    · 
console.log(aa.address.city); // shenzhen

可见,aa 解构赋值到新对象 bb,只是进行了一层浅拷贝,对象 bb 中的属性(address)的属性(city)还是对象 aa 中属性的属性的引用。

如果像拷贝 aa 中的 city 属性,可以像下面处理:

let aa = {
	age: 18,
	name: 'aaa',
	address: {
		city: 'shanghai'
let bb = {
	...aa,
	address: {...aa.address}
bb.address.city = 'shenzhen';
console.log(aa.address.city);  // shanghai