in
Проверяет, есть ли у объекта свойство (в том числе унаследованное).
Доступно с: ES1
Синтаксис
key in objectПримеры
Есть ли свойство:
const user = { name: 'Anna', age: undefined };
console.log('name' in user);
console.log('email' in user);
console.log('age' in user);Результат:
true
false
trueУнаследованные свойства тоже считаются:
console.log('toString' in {});
console.log(Object.hasOwn({}, 'toString'));Результат:
true
falseПримечания
Не путайте с циклом for...in — это другая конструкция. Для массивов in проверяет индексы, а не значения: 2 in ['a', 'b', 'c'] даёт true. Значения в массиве ищут через includes().
См. также
- Object.hasOwn — Проверяет, есть ли у объекта собственное свойство.
- Optional chaining (?.) — Безопасное обращение к свойству: вернёт undefined вместо ошибки, если объекта нет.
- for...in — Перебирает имена свойств объекта.
В учебнике
- Объекты — Объекты в JavaScript: свойства, доступ через точку и квадратные скобки, добавление, удаление и вложенные данные.