Operaattori in
Operaattori in tarkistaa onko oliolla
tai taulukolla ominaisuutta ja palauttaa
true tai false.
Syntaksi
'ominaisuus' in objekti;
Esimerkki
Katsotaan kuinka operaattori in toimii:
let 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:
let 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:
let 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.