Operator in

Operator in menyemak sama ada sifat wujud pada objek atau array dan mengembalikan true atau false.

Sintaks

javascript'sifat' in objek;

Contoh

Mari lihat bagaimana operator in berfungsi:

javascriptlet obj = {
  name: 'Nick',
  age:  23,
};

console.log('name' in obj); // true
console.log('age'  in obj); // true
console.log('test' in obj); // false

Contoh

Mari lihat bagaimana operator in boleh digunakan untuk menyemak sifat dalam array:

javascriptlet arr = ['green', 'red', 'blue', 'pink']

console.log(0 in arr); // true, ada elemen dengan indeks ini
console.log(4 in arr); // false, tiada elemen dengan indeks ini 
console.log('four' in arr); // false, perlukan indeks, bukan nilai elemen
console.log('length' in arr); // true, array mempunyai sifat ini 

Contoh

Sering kali, bukannya in, mereka menyemak sama ada sifat dalam konteks boolean - true:

javascriptlet obj = {
  name: 'John',
  height: '177',
};

if ('name' in obj) {} // semakan dalam kondisi dengan in
if (obj.name) {} // tetapi lebih kerap ditulis seperti ini

Kedua-dua pilihan boleh digunakan. Tetapi sentiasa perlu diingat bahawa string kosong, 0, null, NaN dan undefined dalam konteks boolean - false. Oleh itu, jika sifat mungkin mempunyai nilai seperti itu - harus menggunakan in.