Операторот in

Операторот in проверува дали постои својство кај објект или низа и враќа true или false.

Синтакса

javascript'својство' in објект;

Пример

Да видиме како работи операторот 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

Пример

Да видиме како може да се примени операторот in за проверка на својство во низа:

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

console.log(0 in arr); // true, постои елемент со таков индекс
console.log(4 in arr); // false, нема елемент со таков индекс 
console.log('four' in arr); // false, потребен е индекс, а не вредност на елементот
console.log('length' in arr); // true, низата има такво својство 

Пример

Често наместо in проверуваат, дали својството во логички контекст - true:

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

if ('name' in obj) {} // проверка во услов со in
if (obj.name) {} // но почесто пишуваат вака

Може да се користат и двете опции. Но секогаш вреди да се запамети дека празен стринг, 0, null, NaN и undefined во логички контекст - false. Следствено, ако својството може да има ваква вредност - вреди да се користи in.