Menguji untuk Objek JavaScript Kosong
Apabila mengendalikan respons AJAX, adalah perkara biasa untuk menemui objek kosong, seperti var a = {};. Menentukan sama ada objek kosong adalah penting untuk pelbagai tugas aplikasi.
Object.hasOwn() dan untuk...dalam Gelung:
Untuk persekitaran ECMAScript 2022, Kaedah Object.hasOwn() boleh digunakan bersama dengan gelung for...in untuk menyemak kosong objek:
function isEmpty(obj) { for (const prop in obj) { if (Object.hasOwn(obj, prop)) { return false; } } return true; }
Kaedah ini berulang melalui semua sifat objek itu sendiri, dan jika sebarang sifat ditemui, ia menunjukkan objek bukan kosong.
Membezakan Objek Kosong daripada Objek tanpa Sifat Sendiri:
Jika anda perlu membezakan antara objek kosong seperti {} dan objek tanpa sifat sendiri (cth., Tarikh), semakan jenis tambahan boleh dilakukan:
function isEmptyObject(value) { if (value == null) { return false; // null or undefined } if (typeof value !== 'object') { return false; // boolean, number, string, etc. } const proto = Object.getPrototypeOf(value); if (proto !== null && proto !== Object.prototype) { return false; // consider 'Object.create(null)' } return isEmpty(value); }
Kaedah Alternatif:
Jika anda tidak mempunyai akses kepada ciri ES 2022, anda boleh menggunakan Object.prototype.hasOwnProperty.call() warisan kaedah:
function isEmpty(obj) { for (var prop in obj) { if (Object.prototype.hasOwnProperty.call(obj, prop)) { return false; } } return true; }
Fungsi Perpustakaan Popular:
Banyak perpustakaan popular turut menyediakan fungsi untuk menyemak objek kosong:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menguji Objek JavaScript Kosong dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!