3 Cara untuk Memeriksa Apakah Properti Ada di Objek
dalam tutorial ini, Anda akan belajar cara memeriksa apakah properti ada di objek.
JavaScript memberi Anda tiga cara umum untuk memeriksa apakah properti ada di objek:
1. Menggunakan hasOwnProperty() method.
2. Menggunakan in operator.
3. Membandingkan property dengan undefined.
Menggunakan method hasOwnProperty()
JavaScript Object.prototype memiliki metode hasOwnProperty() yang mengembalikan truejika properti ada di objek:
Contoh berikut mendeklarasikan person objek :
Dan berikut ini menggunakan hasOwnProperty() metode untuk memeriksa apakah firstName property ada di person objek
Namun, age properti tidak ada di objek person, oleh karena itu, kode berikut mengembalikan false:
Perhatikan bahwa hasOwnProperty() mencari properti di properti sendiri dari objek.
Misalnya, semua objek mewarisi toString properti dari Object, metode hasOwnProperty() tidak mendeteksinya sebagai properti:
Menggunakan In Operator
Operator in mengembalikan true jika properti ada di objek. Jika properti tidak ada di objek, ia mengembalikan false.
Contoh berikut menggunakan in operator untuk memeriksa apakah properti firstName and age ada di person objek:
Berbeda dengan hasOwnProperty() method, inoperator mencari properti di properti sendiri dan properti yang diwariskan dari objek.
Contoh berikut menggunakan inoperator untuk memeriksa apakah toString properti ada di person objek. Ini kembali true karena toStringmerupakan properti yang diwariskan dari person objek.
Membandingkan property dengan undefined.
Saat Anda mengakses properti objek yang tidak ada, Anda akan mendapatkan undefined. Oleh karena itu, Anda dapat membandingkan properti dengan undefined untuk memeriksa apakah ada properti di objek:
Jika suatu objek memiliki properti yang nilainya undefined, maka membandingkan properti dengan undefined akan mengembalikan hasil yang salah. Misalnya:
Dalam contoh ini, age properti memang ada di person objek. Namun, nilai awalnya adalah undefined. Oleh karena itu, membandingkan person.age dengan undefined return false, yang tidak diharapkan.
hasOwnProperty() method untuk memeriksa apakah ada properti di properti sendiri dari suatu objek.in operator untuk memeriksa apakah properti ada di properti sendiri dan properti yang diwariskan dari suatu objek.undefined untuk memeriksa apakah properti hanya ada jika Anda yakin bahwa nilai awal properti bukan undefined.