Sobes.tech
Junior

İki funksiyanı təyin etmənin iki yolu arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Əsas fərq this kontekstidir.

Funksiya təyin etmə üsulu Fərq
funksiya bəyanatı this konteksti, funksiyanın necə çağırıldığına görə müəyyən edilir. Kodun icrasından əvvəl yuxarı qaldırılır (hoisting).
ox funksiyası this konteksti, ətraf mühit (lexical) kontekstdən miras alınır. Yüksəldilmir (hoisting yox).
// funksiya bəyanatı
function adiFunksiya() {
  console.log(this); // `this` çağırışa bağlıdır
}

// ox funksiyası
const oxFunksiya = () => {
  console.log(this); // `this` funksiyanın təyin olunduğu kontekstdən miras alınır
};

Ox funksiyaları öz arguments obyektinə də malik deyil (xarici kontekstdən götürülür) və new operatoru ilə konstruktor kimi istifadə edilə bilməz.