Mengenal pasti Sifat Objek Tidak Ditakrifkan dalam JavaScript
Objek JavaScript boleh mengandungi pelbagai sifat, termasuk yang mungkin sekali-sekala mengembalikan nilai khas yang tidak ditentukan. Menentukan sama ada sifat tertentu tidak ditentukan boleh menjadi penting untuk kefungsian kod. Berikut ialah beberapa kaedah untuk mengesan sifat objek yang tidak ditentukan:
Semakan Nilai
Untuk menyemak sama ada nilai sesuatu sifat ditetapkan secara eksplisit kepada tidak ditentukan, gunakan sintaks berikut:
if (o.myProperty === undefined) { // Property value is `undefined` }
Kewujudan Semak
Jika anda ingin menentukan sama ada objek mempunyai sifat tertentu dan nilai lalai akan tidak ditentukan (iaitu, harta itu tidak wujud), gunakan kaedah hasOwnProperty:
if (!o.hasOwnProperty('myProperty')) { // Property does not exist }
Semakan Pengecam
Untuk menyemak sama ada pembolehubah atau pengecam diberikan kepada tidak ditentukan atau belum diisytiharkan, jenis pengendali boleh digunakan:
if (typeof myVariable === 'undefined') { // Variable is `undefined` or hasn't been declared }
Kes Khas: Pengecam Belum Diputuskan
Sebelum ECMAScript 5, objek global harta yang tidak ditentukan boleh ditulis. Oleh itu, perbandingan seperti foo === undefined boleh menghasilkan keputusan yang tidak dijangka. Untuk menangani perkara ini, gunakan operator void untuk mendapatkan semula nilai khas yang tidak ditentukan secara langsung:
if (myVariable === void 0) { // Variable is the special value `undefined` }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengenalpasti Sifat Objek Tidak Ditakrifkan dengan Berkesan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!