[英]JavaScript objects as property of object reference
我想了解對象在 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' } }
是否有關於這種行為的文檔? 通過擴展運算符創建新的 object 時,我可以依賴內部對象引用相等嗎?
...
spread syntax
創建一個淺拷貝任何更深的東西,然后一級仍將作為對原始 object 的參考
const obj = { inner: { a: 'Hello' } }; const clone = {...obj }; console.log(obj === clone) console.log(obj.inner === clone.inner)
淺層克隆 如果傳播到目標中的項目是 object,則只會復制對該 object 的引用。 擴展運算符不會遞歸地深度克隆屬性。 此外,只復制自己的、可枚舉的屬性。
這篇文章將有助於鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.