Operatorn in
Operatorn in kontrollerar om en egenskap finns
i ett objekt eller en array och returnerar
true eller false.
Syntax
'egenskap' in objekt;
Exempel
Låt oss se hur operatorn in fungerar:
let 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:
let 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:
let 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.