Bolehkah Anda Memusnahkan Objek Sedia Ada dalam JavaScript ES6?

Barbara Streisand
Lepaskan: 2024-10-28 15:03:30
asal
505 orang telah melayarinya

Can You Destructure Onto an Existing Object in JavaScript ES6?

Bolehkah Anda Memusnahkan Objek Sedia Ada dalam JavaScript ES6?

Memusnahkan ialah ciri berguna yang diperkenalkan dalam ES6 yang membolehkan pengekstrakan data yang mudah daripada objek dan tatasusunan. Walau bagaimanapun, persoalan biasa timbul: adakah mungkin untuk memusnahkan objek sedia ada?

Pertimbangkan senario berikut: anda mempunyai dua objek, foo dan oof. Anda ingin memindahkan nilai x dan y dari foo ke oof. Walaupun penstrukturan nampaknya merupakan alat yang ideal untuk tugasan ini, anda mungkin tertanya-tanya jika ada cara untuk mencapainya secara langsung dengan sintaks pemusnahan ES6.

Mencuba Pemindahan Terus:

Secara intuitif, anda mungkin terfikir untuk menggunakan sintaks seperti oof{x,y} = foo, tetapi malangnya, ini tidak berfungsi. Sebaliknya, JavaScript menjangkakan pembolehubah baharu akan diisytiharkan di sebelah kiri pengendali tugasan.

Penyelesaian Mengelak:

Untuk memintas pengehadan ini, anda boleh menggunakan penyelesaian yang agak tidak konvensional tetapi berkesan:

({x: oof.x, y: oof.y} = foo);
Salin selepas log masuk

Baris ini membaca nilai x dan y daripada foo dan menetapkannya ke lokasi masing-masing dalam oof. Walaupun pendekatan ini mungkin bukan yang paling elegan, ia mencapai matlamat yang diingini.

Pilihan Alternatif:

Untuk pendekatan yang lebih tradisional, pertimbangkan alternatif berikut:

  • Tugasan Eksplisit:
oof.x = foo.x;
oof.y = foo.y;
Salin selepas log masuk
  • Menggunakan untukSetiap:
['x', 'y'].forEach(prop => oof[prop] = foo[prop]);
Salin selepas log masuk

Kaedah ini mungkin lebih mudah dan mengekalkan kebolehbacaan.

Ringkasan:

Menyahstruktur pada objek sedia ada tidak disokong secara langsung dalam sintaks pemusnahan ES6. Walau bagaimanapun, anda boleh menggunakan teknik yang diberikan untuk mencapai hasil yang diinginkan, atau memilih pendekatan tugasan tradisional jika kejelasan adalah keutamaan. Sama ada ({x: oof.x, y: oof.y} = foo);, oof.x = foo.x; oof.y = foo.y;, atau kaedah lain, pilihan bergantung pada pilihan dan konteks anda.

Atas ialah kandungan terperinci Bolehkah Anda Memusnahkan Objek Sedia Ada dalam JavaScript ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!