Оператор 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.