Оператор 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. Шу sababli, агар свойства шундай қийматга эга бўлиши мумкин бўлса - in-ни қўллаш керак.