Sobes.tech
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.