Operatoren in

Operatoren in kontrollerer om en egenskab findes i et objekt eller et array og returnerer true eller false.

Syntaks

javascript'egenskab' in objekt;

Eksempel

Lad os se hvordan operatoren in fungerer:

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

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

Eksempel

Lad os se hvordan man kan anvende operatoren in til at kontrollere en egenskab i et array:

javascriptlet arr = ['green', 'red', 'blue', 'pink']

console.log(0 in arr); // true, der er et element med dette indeks
console.log(4 in arr); // false, der er intet element med dette indeks 
console.log('four' in arr); // false, indeks er påkrævet, ikke elementværdi
console.log('length' in arr); // true, arrayet har denne egenskab 

Eksempel

I stedet for in kontrollerer man ofte, om en egenskab i en logisk kontekst er true:

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

if ('name' in obj) {} // kontrol i betingelse med in
if (obj.name) {} // men man skriver oftest sådan her

Begge varianter kan bruges. Men man bør altid huske, at en tom streng, 0, null, NaN og undefined i en logisk kontekst - er false. Derfor, hvis en egenskab kan have en sådan værdi - bør man bruge in.