Operator in

Operator in preveri, ali obstaja lastnost v objektu ali matriki, in vrne true ali false.

Sintaksa

javascript'lastnost' in objekt;

Primer

Poglejmo, kako deluje operator in:

javascriptlet 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:

javascriptlet 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:

javascriptlet 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.