Sobes.tech
Junior

JavaScript-də 'in' operatoru ilə tanışsınızmı? Onun çatışmazlıqları nələrdir?

sobes.tech Süni İntellekt

AI-dan cavab

JavaScript-də in operatoru, obyektin və ya onun prototip zəncirində xüsusiyyətin olub-olmadığını yoxlamaq üçün istifadə olunur. Məsələn:

const obj = { a: 1 };
console.log('a' in obj); // true
console.log('toString' in obj); // true, çünki toString prototipdə var

in operatorunun çatışmazlıqları:

  • Yalnız obyektin öz xüsusiyyətlərini yoxlamır, həm də prototip vasitəsilə miras alınanları yoxlayır, bu da yalnış müsbət nəticələrə səbəb ola bilər.
  • Xüsusiyyətin siyahıya daxil olub-olmadığını ayırd etmir.

Əgər yalnız obyektin öz xüsusiyyətlərini yoxlamaq istəyirsinizsə, hasOwnProperty metodundan istifadə etmək daha yaxşıdır:

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

Beləliklə, in ümumi xüsusiyyət axtarışında əlverişlidir, lakin xüsusiyyətin obyektə aid olub-olmadığını yoxlamaqda ehtiyatlı olmaq lazımdır.