Оператор 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 в логически контекст
са false. Следователно, ако свойството може
да има подобна стойност - си струва да използваме in.