Operaattori in

Operaattori in tarkistaa onko oliolla tai taulukolla ominaisuutta ja palauttaa true tai false.

Syntaksi

javascript'ominaisuus' in objekti;

Esimerkki

Katsotaan kuinka operaattori in toimii:

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

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

Esimerkki

Katsotaan kuinka operaattoria in voidaan käyttää ominaisuuden tarkistamiseen taulukossa:

javascriptlet arr = ['green', 'red', 'blue', 'pink']

console.log(0 in arr); // true, on elementti tällä indeksillä
console.log(4 in arr); // false, ei elementtiä tällä indeksillä 
console.log('four' in arr); // false, tarvitaan indeksi, ei elementin arvo
console.log('length' in arr); // true, taulukolla on tällainen ominaisuus 

Esimerkki

Usein in:n sijasta tarkistetaan, onko ominaisuus logisessa kontekstissa - true:

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

if ('name' in obj) {} // tarkistus ehdossa in:llä
if (obj.name) {} // mutta useammin kirjoitetaan näin

Molempia vaihtoehtoja voidaan käyttää. Mutta aina on syytä muistaa, että tyhjä merkkijono, 0, null, NaN ja undefined logisessa kontekstissa - false. Tästä syystä, jos ominaisuudella voi olla vastaava arvo - on syytä käyttää in.