Operatorn in

Operatorn in kontrollerar om en egenskap finns i ett objekt eller en array och returnerar true eller false.

Syntax

javascript'egenskap' in objekt;

Exempel

Låt oss se hur operatorn in fungerar:

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

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

Exempel

Låt oss se hur operatorn in kan användas för att kontrollera en egenskap i en array:

javascriptlet arr = ['grön', 'röd', 'blå', 'rosa']

console.log(0 in arr); // true, det finns ett element med detta index
console.log(4 in arr); // false, det finns inget element med detta index
console.log('four' in arr); // false, index krävs, inte elementets värde
console.log('length' in arr); // true, arrayen har denna egenskap

Exempel

Ofta, istället för in, kontrollerar man om en egenskap i ett logiskt sammanhang är true:

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

if ('name' in obj) {} // kontroll i villkor med in
if (obj.name) {} // men oftast skriver man så här

Båda alternativen kan användas. Men man bör alltid komma ihåg att en tom sträng, 0, null, NaN och undefined i ett logiskt sammanhang är false. Följaktligen, om en egenskap kan ha ett sådant värde - bör man använda in.