Operátor in
Operátor in kontroluje, zda existuje vlastnost
u objektu nebo pole a vrací
true nebo false.
Syntaxe
'vlastnost' in objekt;
Příklad
Podívejme se, jak 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
Příklad
Podívejme se, jak lze použít operátor
in pro kontrolu vlastnosti v
poli:
let arr = ['green', 'red', 'blue', 'pink']
console.log(0 in arr); // true, existuje prvek s tímto indexem
console.log(4 in arr); // false, neexistuje prvek s tímto indexem
console.log('four' in arr); // false, je potřeba index, ne hodnota prvku
console.log('length' in arr); // true, pole má tuto vlastnost
Příklad
Často místo in kontrolují, zda je vlastnost
v logickém kontextu - true:
let obj = {
name: 'John',
height: '177',
};
if ('name' in obj) {} // kontrola v podmínce s in
if (obj.name) {} // ale častěji píší takto
Lze použít obě varianty. Ale vždy
je třeba mít na paměti, že prázdný řetězec, 0,
null, NaN a undefined v logickém kontextu
- false. Proto pokud vlastnost může
mít podobnou hodnotu - měl by se použít in.