Аператар 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.