# in operator

The `in` operator checks if an object or an array has a property and returns `true` or `false`.

## Syntax

`'property' in object;`

## Example

Let's see how the `in` operator works:

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

## Example

Let's see how we can use the `in` operator to check a property in an array:

`let arr = ['green', 'red', 'blue', 'pink'] console.log(0 in arr); // true, there is an element with this index console.log(4 in arr); // false, there is no element with this index console.log('four' in arr); // false, the index is required, not the element value console.log('length' in arr); // true, an array has this property`

## Example

Often, instead of `in`, they check that a property in the logical context is `true`:

`let obj = { name: 'John', height: '177', }; if ('name' in obj) {} // checking the condition with in if (obj.name) {} // but more often it's written like this`

Both options can be used. But it's always worth to remember that an empty string, `0`, `null`, `NaN` and `undefined` in a boolean context are `false`. Therefore, if a property can have a similar value - it is worth to use `in`.

← →
↑
en ru