Sobes.tech
Junior

Да ли познајете оператор 'in' у JavaScript-у? Које су његове мане?

sobes.tech АИ

Одговор од АИ

Operator in u JavaScript-u se koristi za proveru da li svojstvo postoji u objektu ili u njegovom prototipskom lancu. Na primer:

const obj = { a: 1 };
console.log('a' in obj); // true
console.log('toString' in obj); // true, jer je toString u prototipu

Nedostaci operatora in:

  • Proverava ne samo sopstvena svojstva objekta, već i nasledjena putem prototipa, što može dovesti do lažnih pozitivnih rezultata.
  • Ne razlikuje da li je svojstvo enumerabilno ili ne.

Ako želite da proverite samo sopstvena svojstva objekta, bolje je koristiti metodu hasOwnProperty:

console.log(obj.hasOwnProperty('a')); // true
console.log(obj.hasOwnProperty('toString')); // false

Tako je in koristan za opštu pretragu svojstava, ali zahteva oprez ako je važno da svojstvo pripada direktno objektu.