JavaScript this Kalit So'zi (The this Keyword)
JavaScript-da this kalit so'zi obyektning o'ziga ishora qilish uchun ishlatiladi. Obyekt metodlari ichida this aynan shu metodni chaqirayotgan obyektga kirish imkonini beradi.
Obyekt Metodida this
Metod ichida foydalanilganda, this shu metod tegishli bo'lgan obyektning o'zini anglatadi.
Misol
js
const person = {
firstName: "John",
lastName: "Doe",
fullName: function() {
// this person obyektiga ishora qiladi
return this.firstName + " " + this.lastName;
}
};Yuqoridagi misolda:
this.firstName—personobyektiningfirstNamexususiyati.this.lastName—personobyektininglastNamexususiyati.
Nega this ishlatiladi?
this kalit so'zi bitta metodni turli xil obyektlar bilan ishlatish imkonini beradi.
Misol
js
const person1 = {
name: "Alisher",
hello: function() {
return "Salom, " + this.name;
}
};
const person2 = {
name: "Soliha",
hello: function() {
return "Salom, " + this.name;
}
};
person1.hello(); // "Salom, Alisher"
person2.hello(); // "Salom, Soliha"this ning yolg'iz o'zi (Alone)
Agar this funksiya yoki obyekt tashqarisida, yolg'iz ishlatilsa, u global obyektga ishora qiladi.
- Brauzerda global obyekt — quyidagicha:
[object Window].
js
let x = this; // Brauzerda x = Window obyektiEslatma: "Strict mode" (qat'iy rejim)da yolg'iz ishlatilgan this — undefined qiymatiga ega bo'ladi.
Funksiya ichida this
Oddiy funksiya ichida ham this global obyektga ishora qiladi.
js
function myFunction() {
return this; // Brauzerda [object Window] qaytaradi
}Xulosa
- Obyekt metodida:
thisshu obyektning o'zini anglatadi. - Yolg'iz ishlatilganda:
thisglobal obyektni (brauzerdawindow) anglatadi. thisyordamida metodlar obyektning boshqa xususiyatlariga oson kirishi mumkin.- Arrow funksiyalarning (strelkali funksiyalar) o'zining
thisqiymati bo'lmaydi.
