# Оператор in

Оператор `in` проверят есть ли свойство у объекта или массива и возвращает `true` либо `false`.

## Синтаксис

`'свойство' in объект;`

## Пример

Посмотрим как работает оператор `in`:

`let obj = { name: 'Nick', age: 23, }; console.log('name' in obj); // true console.log('age' in obj); // true console.log('test' in obj); // false`

## Пример

Посмотрим как можно применить оператор `in` для проверки свойства в массиве:

`let 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`:

`let obj = { name: 'John', height: '177', }; if ('name' in obj) {} // проверка в условии с in if (obj.name) {} // но чаще пишут так`

Оба варианта можно использовать. Но всегда стоит помнить, что пустая строка, `0`, `null`, `NaN` и `undefined` в логическом контексте - `falsе`. Следовательно, если свойство может иметь подобное значение - стоит использовать `in`.

← →
↑
en ru