Оператори 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 = ['сабз', 'сурх', 'кабуд', 'гулобӣ']

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 истифода кард.