Pemusnahan Objek: Var, Let, Const dan Blocks
Pemusnahan objek dalam JavaScript membenarkan pengekstrakan sifat daripada objek kepada pembolehubah. Walau bagaimanapun, apabila cuba berbuat demikian tanpa menggunakan kata kunci var, let, atau const di hadapan ungkapan yang memusnahkan, anda mungkin menghadapi SyntaxError.
Isunya
Ralat berlaku kerana operator {...} mempunyai pelbagai makna dalam JavaScript. Apabila { muncul pada permulaan pernyataan, ia menandakan pernyataan blok, yang tidak boleh diberikan kepada. Walau bagaimanapun, kemudian dalam kenyataan, { menjadi ungkapan yang mewakili objek.
Penyelesaian: Pengisytiharan Pembolehubah
Untuk menyelesaikan isu ini, perkenalkan pengisytiharan pembolehubah (var , let, atau const) sebelum ungkapan yang memusnahkan. Ini menjelaskan maksud ungkapan {...} sebagai tugasan memusnahkan objek, bukan blok. Contohnya:
var {a, b} = {a: 1, b: 2}; // Valid
Sebagai alternatif, melampirkan ungkapan pemusnah dalam kurungan memaksanya menjadi ungkapan:
( {a, b} = {a: 1, b: 2} ); // Also valid
Mengapa Tiada Var untuk Pemusnahan Tatasusunan?
Pemusnahan tatasusunan tidak memerlukan pengisytiharan berubah kerana sintaksnya jelas membezakannya daripada sebuah blok. Tanda kurung segi empat sama ([ dan ]) menunjukkan tatasusunan, dan pengendali tugasan (=) membayangkan tugasan.
Situasi Kompleks
Seperti yang ditunjukkan dalam soalan bonus, menggunakan pemusnahan objek dalam blok boleh menyebabkan kekeliruan. Dalam kes sedemikian, adalah disyorkan untuk mengisytiharkan pembolehubah secara eksplisit menggunakan var, let atau const untuk mengelakkan tingkah laku yang tidak dijangka.
Atas ialah kandungan terperinci Mengapa Pemusnahan Objek JavaScript Memerlukan `var`, `let` atau `const`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!