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.