</>
⌕
Mid #copy#reference#structuredClone#immutability

Shallow copy và deep copy khác nhau thế nào? structuredClone có giới hạn gì?

⚡ Trả lời nhanh

Shallow copy (spread, Object.assign, slice) chỉ copy cấp đầu, object lồng nhau vẫn chung tham chiếu. Deep copy sao chép đệ quy: dùng `structuredClone` (hỗ trợ Date, Map, Set, vòng tham chiếu; không clone được function, DOM, class instance giữ prototype).

Ví dụ

main.js · sửa được

So sánh các cách deep copy

CáchDate/Map/SetFunctionVòng tham chiếuundefined
JSON.parse(JSON.stringify())mất/hỏngbỏlỗibỏ key
structuredClonegiữDataCloneErrorgiữgiữ
Hàm đệ quy tự viếttùytùycần WeakMaptùy
🃏 Ôn bằng flashcard