Operátor in

Operátor in kontroluje, či objekt alebo pole má danú vlastnosť a vráti true alebo false.

Syntax

javascript'vlastnosť' in objekt;

Príklad

Pozrime sa, ako operátor in funguje:

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

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

Príklad

Pozrime sa, ako možno použiť operátor in na kontrolu vlastnosti v poli:

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

console.log(0 in arr); // true, existuje prvok s takýmto indexom
console.log(4 in arr); // false, neexistuje prvok s takýmto indexom 
console.log('four' in arr); // false, potrebný je index, nie hodnota prvku
console.log('length' in arr); // true, pole má takúto vlastnosť 

Príklad

Často namiesto in kontrolujú, či je vlastnosť v logickom kontexte - true:

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

if ('name' in obj) {} // kontrola v podmienke s in
if (obj.name) {} // ale častejšie píšu takto

Obe možnosti je možné použiť. Ale vždy treba mať na pamäti, že prázdny reťazec, 0, null, NaN a undefined v logickom kontexte sú false. Preto, ak vlastnosť môže mať podobnú hodnotu - treba použiť in.