gpt4 book ai didi

JavaScript 对象作为对象引用的属性

转载 作者:行者123 更新时间:2023-11-28 14:14:26 25 4
gpt4 key购买 nike

我想了解对象在 JS 中是如何工作的。

const obj = { inner: { a: 'Hello' } };

const clone = { ...obj };

// obj === clone -> false
// !!! BUT !!!
// obj.inner === clone.inner -> true

clone.inner = { a: 'world' };
// obj === { inner: { a: 'Hello' } }
// clone === { inner: { a: 'World' } }

有关于此行为的文档吗?在通过扩展运算符创建新对象时,我可以依赖内部对象引用相等性吗?

最佳答案

... spread syntax创建一个浅拷贝,比第一级更深的任何内容仍将保留作为对原始对象的引用

const obj = { inner: { a: 'Hello' } };

const clone = { ...obj };


console.log(obj === clone)

console.log(obj.inner === clone.inner)

关于JavaScript 对象作为对象引用的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58171407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com