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