Operator in
Operator in preveri, ali obstaja lastnost
v objektu ali matriki, in vrne
true ali false.
Sintaksa
'lastnost' in objekt;
Primer
Poglejmo, kako deluje operator in:
let obj = {
name: 'Nick',
age: 23,
};
console.log('name' in obj); // true
console.log('age' in obj); // true
console.log('test' in obj); // false
Primer
Poglejmo, kako lahko uporabimo operator
in za preverjanje lastnosti v
matriki:
let arr = ['green', 'red', 'blue', 'pink']
console.log(0 in arr); // true, obstaja element s tem indeksom
console.log(4 in arr); // false, ni elementa s tem indeksom
console.log('four' in arr); // false, potreben je indeks, ne vrednost elementa
console.log('length' in arr); // true, matrika ima to lastnost
Primer
Pogosto namesto in preverijo, ali je lastnost v
logičnem kontekstu - true:
let obj = {
name: 'John',
height: '177',
};
if ('name' in obj) {} // preverjanje v pogoju z in
if (obj.name) {} // toda pogosteje pišejo tako
Obe možnosti je mogoče uporabiti. Toda vedno
je vredno zapomniti, da so prazen niz, 0,
null, NaN in undefined v logičnem kontekstu
- false. Posledično, če ima lahko lastnost
takšno vrednost - je vredno uporabiti in.