簡體   English   中英

JavaScript 對象作為 object 參考的屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM