Оператор in
проверят есть ли свойство
у объекта и возвращает true либо false.
Синтаксис
'свойство' in объект
Пример
Посмотрим как работает оператор in:
let obj = {
name: 'вася',
age: 23,
}
console.log('name' in obj) // true
console.log('age' in obj) // true
console.log('test' in obj) // false
Пример
Часто вместо in проверяют, что свойство в логическом контекст - true:
let obj = {
name: 'Андрей',
height: '127',
}
if ('name' in obj) {} // проверка в условии с in
if (obj.name) {} // но чаще пишут так
Оба варианта можно использовать. Но всегда
стоит помнить, что пустая строка, 0
,
null, NaN и undefined в логическом контексте
- falsе. Следовательно, если свойство может
иметь подобное значение - стоит использовать in.