Rumah > Artikel > hujung hadapan web > Bagaimana untuk menamakan semula Pembolehubah Sasaran dalam Pemusnahan Objek ES6?
Menamakan semula Pembolehubah Sasaran dalam Pemusnahan Objek ES6
Pemusnahan objek ialah ciri berkuasa yang diperkenalkan dalam ES6 yang membolehkan pembangun mengekstrak sifat tertentu daripada objek ke dalam pembolehubah individu. Walau bagaimanapun, secara lalai, nama sifat yang diekstrak adalah sama dengan nama pembolehubah asal. Had ini boleh menyusahkan apabila kita ingin memberikan nama yang berbeza kepada pembolehubah yang diekstrak.
Pertimbangkan contoh berikut:
<code class="js">const b = 6; const test = { a: 1, b: 2 }; const {a, b as c} = test; // <-- `as` does not seem to be valid in ES6/ES2015 // a === 1 // b === 6 // c === 2</code>
Dalam contoh ini, kami cuba memusnahkan objek ujian dan menetapkan nama baharu (a dan c) kepada sifat a dan b, masing-masing. Walau bagaimanapun, menggunakan kata kunci sebagai (seperti yang ditunjukkan dalam baris ulasan) tidak sah dalam ES6.
Untuk menyelesaikan isu ini dan menamakan semula pembolehubah sasaran semasa pemusnahan objek, kita boleh menggunakan sintaks berikut:
<code class="js">const {a: foo, b: bar} = test;</code>
Sintaks ini memberikan sifat objek ujian kepada pembolehubah baharu bernama foo dan sifat b kepada pembolehubah baharu bernama bar.
Mari kita tunjukkan dengan contoh:
<code class="js">const test = { a: 42, b: true }; const {a: foo, b: bar} = test; console.log(foo); // 42 console.log(bar); // true</code>
Dalam contoh ini, kami memusnahkan objek ujian dan menetapkan sifat a kepada foo dan sifat b ke bar. Pembolehubah foo dan bar kemudiannya digunakan untuk mengakses nilai asal daripada objek ujian.
Teknik penamaan semula ini memberikan fleksibiliti yang lebih besar apabila bekerja dengan pemusnahan objek, membolehkan pembangun mencipta nama pembolehubah bermakna yang sejajar dengan tujuan yang dimaksudkan atau konteks kod.
Atas ialah kandungan terperinci Bagaimana untuk menamakan semula Pembolehubah Sasaran dalam Pemusnahan Objek ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!