Operátor in
Operátor in kontroluje, či objekt alebo pole má
danú vlastnosť a vráti
true alebo false.
Syntax
'vlastnosť' in objekt;
Príklad
Pozrime sa, ako operátor in funguje:
let 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:
let 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:
let 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.