Az in operátor

Az in operátor ellenőrzi, hogy egy objektumnak vagy tömbnek van-e adott tulajdonsága, és true vagy false értéket ad vissza.

Szintaxis

javascript'tulajdonság' in objektum;

Példa

Nézzük meg, hogyan működik az in operátor:

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

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

Példa

Nézzük meg, hogyan alkalmazhatjuk az in operátort egy tömb tulajdonságainak ellenőrzésére:

javascriptlet arr = ['zöld', 'piros', 'kék', 'rózsaszín']

console.log(0 in arr); // true, van elem ezzel az indexszel
console.log(4 in arr); // false, nincs elem ezzel az indexszel 
console.log('four' in arr); // false, indexre van szükség, nem az elem értékére
console.log('length' in arr); // true, a tömbnek van ilyen tulajdonsága 

Példa

Gyakran az in helyett azt ellenőrzik, hogy a tulajdonság logikai kontextusban - true:

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

if ('name' in obj) {} // ellenőrzés feltételben in-nel
if (obj.name) {} // de gyakrabban így írják

Mindkét változat használható. De mindig érdemes emlékezni, hogy az üres sztring, 0, null, NaN és undefined logikai kontextusban - false. Következésképpen, ha a tulajdonság ilyen értékkel rendelkezhet - érdemes az in operátort használni.