Operaator in

Operaator in kontrollib, kas objektil või massiivil on omadus, ja tagastab true või false.

Süntaks

javascript'omadus' in objekt;

Näide

Vaatame, kuidas operaator in töötab:

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

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

Näide

Vaatame, kuidas saab kasutada operaatorit in omaduse kontrollimiseks massiivis:

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

console.log(0 in arr); // true, on element sellise indeksiga
console.log(4 in arr); // false, puudub element sellise indeksiga
console.log('four' in arr); // false, vaja on indeksit, mitte elemendi väärtust
console.log('length' in arr); // true, massiivil on selline omadus

Näide

Sageli in asemel kontrollitakse, et omadus oleks loogilises kontekstis - true:

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

if ('name' in obj) {} // kontroll tingimuses koos in-iga
if (obj.name) {} // kuid sageli kirjutatakse nii

Mõlemat varianti saab kasutada. Kuid alati tuleb meeles pidada, et tühi string, 0, null, NaN ja undefined on loogilises kontekstis - false. Seega, kui omadus võib omada sellist väärtust - tuleks kasutada in.