js深拷貝注意事項

1.使用Object.assign(newObj, oldObj);
只深拷貝了oldObj的第一層,之後的層級仍是淺拷貝。
如:oldObj = {a:1, b: 2}; 此時深拷貝沒問題
如:oldObj = {a:1, b: { c: 4 }}; 此時newObj.a和newObj.b都不會影響oldObj,但newObj.b.c則會影響oldObj。

2.使用“…”擴展運算符,細節同上

3.使用JSON.parse(JSON.stringify(oldObj));
對象內的值爲undefined、function、symbol時,會丟失。
如下圖:在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章