Operatorius in

Operatorius in tikrina ar objektas arba masyvas turi savybę ir grąžina true arba false.

Sintaksė

javascript'savybė' in objektas;

Pavyzdys

Pažiūrėkime kaip veikia operatorius 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

Pavyzdys

Pažiūrėkime kaip galima pritaikyti operatorių in savybės buvimui masyve patikrinti:

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

console.log(0 in arr); // true, yra elementas su tokiu indeksu
console.log(4 in arr); // false, nėra elemento su tokiu indeksu 
console.log('four' in arr); // false, reikia indekso, o ne elemento reikšmės
console.log('length' in arr); // true, masyvas turi tokią savybę 

Pavyzdys

Dažnai vietoj in tikrinama, ar savybė loginiame kontekste - true:

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

if ('name' in obj) {} // patikrinimas sąlygoje su in
if (obj.name) {} // bet dažniau rašoma taip

Galima naudoti abu variantus. Bet visada verta atsiminti, kad tuščia eilutė, 0, null, NaN ir undefined loginame kontekste - false. Todėl, jei savybė gali turėti tokią reikšmę - verta naudoti in.