Pemusnahan Objek: Mengapa "var" Penting untuk Tugasan Objek
Apabila menggunakan pemusnahan objek dalam JavaScript, adalah penting untuk menggunakan "var " kata kunci apabila menetapkan kepada sifat objek. Tanpanya, ralat sintaks boleh berlaku.
Pemusnahan objek dengan tugasan (=) operator menggunakan {...} operator, yang boleh mewakili kedua-dua blok dan ungkapan. Apabila muncul pada permulaan pernyataan, {...} menandakan blok, yang tidak boleh diperuntukkan. Walau bagaimanapun, apabila muncul kemudian dalam pernyataan sebagai ungkapan, ia mewakili objek.
Kata kunci "var" menyahkekaburan isu ini. Ia memaksa {...} untuk dianggap sebagai ungkapan dan memberikan sifat yang dimusnahkan kepada pembolehubah yang diisytiharkan sebelum penugasan:
var {a, b} = {a: 1, b: 2}; // Works as expected
Sebaliknya, meninggalkan "var" mengakibatkan tafsiran blok, yang membawa kepada SyntaxError:
{a, b} = {a: 1, b: 2}; // SyntaxError: expected expression, got '='
Kurungan juga boleh digunakan untuk mengumpulkan tugasan dan mencapai tingkah laku yang betul tanpa "var":
( {a, b} = objectReturningFunction() ); // Equivalent to using "var"
Walau bagaimanapun, mengapa "var" tidak diperlukan untuk pemusnahan tatasusunan, di mana pengendali [] digunakan dan bukannya {}?
Pemusnahan tatasusunan sememangnya merupakan ungkapan . Pengendali [] sentiasa mewakili tatasusunan, bukan blok. Oleh itu, "var" tidak diperlukan untuk memastikan kebolehtugasan dalam penstrukturan tatasusunan.
Atas ialah kandungan terperinci Mengapakah 'var' Diperlukan untuk Pemusnahan Objek tetapi Bukan Pemusnahan Tatasusunan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!