Middle
JavaScript-də niyə 'this' açar sözündən istifadə etmək olmaz?
sobes.tech Süni İntellekt
AI-dan cavab
Bu this-i, öz kontekstinə bağlamaq üçün ok funksiyalarında istifadə etmək olmaz. Ok funksiyaları öz this-ini yaratmır, onun dəyərini müəyyən olunduğu sahədən miras alır.
Həmçinin, this etibarlı deyil, çünki onun dəyəri dəyişə bilər və ya qlobal obyektə (qeyri-məhdud rejimdə) və ya undefined-ə çevrilə bilər (müəyyən rejimdə). Bu, asinxron əməliyyatların geri çağırışlarında və ya hadisə işləyicilərində xüsusilə doğrudur, çünki kontekstin açıq şəkildə bağlanmaması.
Nümunə:
function ənənəviFəaliyyət() {
console.log(this); // this çağırışdan asılıdır
}
const okFəaliyyət = () => {
console.log(this); // this xarici sahədən miras alınır
};
const obyekt = {
metod: ənənəviFəaliyyət
};
obyekt.metod(); // this - obyekt
ənənəviFəaliyyət(); // this - qlobal obyekt (window / global)
const obyekt2 = {
metod: okFəaliyyət
};
obyekt2.metod(); // this - miras alınır. Əgər qlobal sahədə təyin olunubsa, global/window.