Operator in

Operator in sprawdza czy istnieje właściwość w obiekcie lub tablicy i zwraca true lub false.

Składnia

javascript'właściwość' in obiekt;

Przykład

Zobaczmy jak działa operator 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

Przykład

Zobaczmy jak można zastosować operator in do sprawdzenia właściwości w tablicy:

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

console.log(0 in arr); // true, istnieje element z takim indeksem
console.log(4 in arr); // false, nie ma elementu z takim indeksem 
console.log('four' in arr); // false, potrzebny jest indeks, a nie wartość elementu
console.log('length' in arr); // true, tablica ma taką właściwość 

Przykład

Często zamiast in sprawdza się, czy właściwość w kontekście logicznym - true:

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

if ('name' in obj) {} // sprawdzenie w warunku z in
if (obj.name) {} // ale częściej pisze się tak

Oba warianty można używać. Ale zawsze warto pamiętać, że pusty ciąg, 0, null, NaN i undefined w kontekście logicznym - false. W związku z tym, jeśli właściwość może mieć podobną wartość - warto używać in.