Junior
Ikki funktsiya belgilash usullari o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
Asosiy farq this kontekstidir.
| Funksiya belgilash usuli | Farqi |
|---|---|
funksiya e'lon qilish |
this konteksti funksiyani qanday chaqirilganiga qarab aniqlanadi. Kod bajarilishidan oldin (hoisting) ko'tariladi. |
ok funksiyasi |
this konteksti atrofdagi (lexikal) kontekstdan meros oladi. Ko'tarilmaydi (hoisting yo'q). |
// funksiya e'lon qilish
function oddiyFunktsiya() {
console.log(this); // `this` chaqiruvga bog'liq
}
// ok funksiyasi
const okFunktsiya = () => {
console.log(this); // `this` funksiyaning ta'riflangan kontekstidan meros oladi
};
Ok funksiyalari o'zining arguments ob'ektiga ham ega emas (u tashqi kontekstdan olinadi) va new operatori bilan konstruktor sifatida ishlatilmaydi.