Sobes.tech
Middle

Jonli kodlash: funksiyalar, o'q funksiyalari, obyektlar va kontekst (this), call/bind uchun kodning konsoldagi chiqishini aniqlash

sobes.tech AI

AIdan javob

JavaScriptda ijro muhit (this) funksiyaning chaqirilish usuliga bog‘liq. O‘q funksiyalari o‘zining thisiga ega emas — ular tashqi leksikal muhitdan meros oladi.

Misol:

const obj = {
  value: 42,
  regularFunc: function() {
    console.log(this.value);
  },
  arrowFunc: () => {
    console.log(this.value);
  }
};

obj.regularFunc(); // 42 — this, obj ga ishora qiladi
obj.arrowFunc();   // undefined yoki tashqi kontekst qiymati (masalan, window.value)

// call/bind ishlatish:
function show() {
  console.log(this.name);
}

const user = { name: 'Alice' };

show.call(user); // Alice
const boundShow = show.bind(user);
boundShow(); // Alice

Shuning uchun, call va bind funksiyani chaqirishda this ni aniq belgilashga imkon beradi, ammo o‘q funksiyalari bilan ishlamaydi, chunki ularning thisi leksikal tarzda belgilangan.