Rumah >hujung hadapan web >tutorial js >Mengapa Pemusnahan Array ES6 Saya Membawa kepada Gelagat Tidak Dijangka?
Pemusnahan Tatasusunan ES6: Memahami Gelagat Tidak Dijangka
Dalam ES6, pemusnahan tatasusunan membolehkan kami mengekstrak elemen tertentu daripada tatasusunan dan menetapkannya untuk pembolehubah. Walau bagaimanapun, tingkah laku yang tidak dijangka boleh berlaku apabila peraturan sintaks tertentu diabaikan. Pertimbangkan kod berikut:
<code class="js">let a, b, c; [a, b] = ['A', 'B']; [b, c] = ['BB', 'C']; console.log(`a=${a} b=${b} c=${c}`);</code>
Hasil Jangkaan:
Hasil Sebenar:
Penjelasan:
Seperti yang dinyatakan dalam soalan, ketiadaan koma bertitik antara baris membawa kepada tingkah laku yang tidak dijangka ini. Tanpa titik bertitik yang jelas, kod ditafsirkan sebagai satu pernyataan:
<code class="js">let a = undefined, b = undefined, c = undefined; [a, b] = (['A', 'B'] [(b, c)] = ['BB', 'C']); console.log(`a=${a} b=${b} c=${c}`);</code>
Pecahan ini menerangkan hasil luar biasa:
Untuk mengelakkan akibat yang tidak diingini ini, ia adalah penting untuk menambah koma bertitik selepas pernyataan yang bermula dengan kurungan, kurungan, operator bahagi, operator tambah, operator tolak atau tanda belakang (untuk templat yang ditandakan), kami memastikan setiap baris dianggap sebagai pernyataan yang berasingan, menghalang penilaian yang tidak dijangka dan keputusan yang salah.
Atas ialah kandungan terperinci Mengapa Pemusnahan Array ES6 Saya Membawa kepada Gelagat Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!