Аператар in

Аператар in правярае ці ёсць ўласцівасць у аб'екта ці масіва і вяртае true альбо false.

Сінтаксіс

javascript'уласцівасць' in аб'ект;

Прыклад

Паглядзім як працуе аператар in:

javascriptlet obj = {
  name: 'Nick',
  age:  23,
};

console.log('name' in obj); // true
console.log('age'  in obj); // true
console.log('test' in obj); // false

Прыклад

Паглядзім як можна ўжыць аператар in для праверкі ўласцівасці ў масіве:

javascriptlet 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:

javascriptlet obj = {
  name: 'John',
  height: '177',
};

if ('name' in obj) {} // праверка ў умове з in
if (obj.name) {} // але часцей пішуць так

Абодва варыянты можна ўжываць. Але заўсёды варта памятаць, што пусты радок, 0, null, NaN і undefined у лагічным кантэксце - false. Такім чынам, калі ўласцівасць можа мець падобнае значэнне - варта ўжываць in.