this kalit so'zi

this kalit so'zi

Rajabov Doston

Assalaamu alaykum!

Bugungi maqolamizda this kalit so'zi haqida tushunchaga ega bo'lamiz. Boshladik.


JavaScript-da this kalit so'zi ob'ektga ishora qiladi. Qaysi ob'ekt bu qanday chaqirilayotganiga (ishlatilgan yoki chaqirilganiga) bog'liq. Bu kalit so'z qanday ishlatilishiga qarab turli xil ob'ektlarga ishora qiladi.

1. this = window

Bu har qanday funktsiya yoki methoddan tashqarida ishlatilsa, u global ob'ektga ishora qiladi.

console.log(this); // Global ob'ektga ishora qiladi (masalan, brauzer oynasi)


2. Funktsiya konteksti

Funktsiyada foydalanilganda (arrow funktsiyasi emas), bu global ob'ektga ishora qiladi, agar funktsiya ob'ektning methodi bo'lmasa. Bunday holda, u method chaqirilgan ob'ektga ishora qiladi.

function exampleFunction() {
console.log(this);
}
exampleFunction(); //Global ob'ektga ishora qiladi


3. this = object

const obj = {
firstName: "Doston",
lastName:"Rajabov",
fullName(){
console.log(this.firstName+ " " + this.lastName)
}
};
obj.fullName(); // obj ga ishora qiladi => Doston Rajabov


4. Arrow function

Arrow funksiyalarining o'ziga xos this konteksti yo'q. Buning o'rniga, ular buni atrofdagi doiradan meros qilib olishadi.

const myObject = {
regularMethod: function() {
console.log(this === myObject); // true
},
arrowMethod: () => {
console.log(this === myObject); // false, chunki arrow funksiyalar this ni meros qilib oladi. Arrow funksiyalarni o'zida this kalit so'zi mavjud emas. Hozirgi holatda this=window
}
};
myObject.regularMethod();
myObject.arrowMethod();


5. this=element

this kalit so'zi biror bir html elementimizga qo'shilgan event lar ichida ishlatilsa, this aynan o'sha elementga teng bo'ladi.

<button id="myButton"> My button </button>
document.getElementById('myButton').addEventListener('click', function() {
console.log(this); // <button id="myButton"> My button </button>
});


6. Konstruktor funksiya

Konstruktor funktsiyasi ichida bu ob'ektning yangi yaratilgan namunasiga ishora qiladi.

function Person(name) {
this.name = name;
}
const person1 = new Person('John');
console.log(person1.name); // John


Ushbu maqola orqali this kalit so'zini ishlatilishini ko'rib chiqdik. Sizlarga tushunarli bo'ldi degan umiddaman. To'liqroq ma'lumot olish uchun ushbu maqola bilan tanishib chiqing.

Maqolada yo'l qo'yilgan imloviy xatolarga e'tibor bermaysiz degan umiddaman 😉😉


Report Page