Tarian stringify-parse JSON adalah salinan mendalam semua orang selama satu dekade, dan secara diam-diam menghancurkan tanggal, peta, dan segala sesuatu yang melingkar. terstrukturClone adalah jawaban platform, jauh lebih baik dalam hal ini.

const copy = structuredClone(cart);
  • Ini menyalin tipe-tipe yang JSON tidak bisa: Tanggal, Peta, Set, array yang diketik, dan struktur siklik kembali utuh alih-alih dirangkai atau dilempar.
  • Itu masih menolak fungsi dan node DOM, yang secara sengaja membuat status lapisan tampilan dan pengendali peristiwa tidak masuk ke dalam klon data Anda.
  • Instance kelas dikloning sebagai objek biasa; metode dan bidang pribadi tidak dapat bertahan, jadi bangun kembali perilaku nyata dari pabrik saat Anda membutuhkannya kembali.

Dimana ia mendapatkan tempatnya

Nyatakan snapshot untuk pembatalan, tambalan optimis dalam keranjang, bentuk draf untuk antrean penyimpanan otomatis: di mana pun salinannya harus independen dari objek aktif atau berada di penyimpanan. Perjalanan pulang pergi JSON di tempat-tempat itu adalah bug yang menunggu hari Selasa.

Satu peringatan yang perlu disampaikan dengan lantang: kloning bukanlah batas keamanan, melainkan menyalin data; keluar dari halaman adalah masalah yang berbeda dengan alat yang berbeda. Sangat menyenangkan akhirnya memiliki kata kelas satu untuk salinan mendalam: sewa alat yang tepat, hapus peretasan stringify.