This kalit so’zi qanday holatlarda qanaqa qiymatga ega bo’ladi?

August 28, 2025 (2mo ago)

JavaScript'da o'zi this kalit so'zi nima? Bu umuman olganda qayerda foydalanishiga qarab xar-xil qiymatga ega bo'ladi. Keling ularni birma-bir ko'rib chiqamiz.


  1. Global context’da. this → window obyektini ko‘rsatadi. Agar strict mode bo'lsa undefined ga teng bo'ladi.
console.log(this) // Window
  1. Regular funksiya ichida global obyektga teng.
function fn(){
  console.log(this)
}
fn() // Window
  1. Obyekt metodi sifatida o’sha obyektga teng
const user = {
  name: "Azizbek",
  greet() {
    console.log(`Salom, men ${this.name}`);
  }
};
user.greet(); // Salom, men Azizbek
  1. Konstructor funksiyada o’sha funksiya qaytaradigan obyektga teng.
function User(name) {
  this.name = name;
  this.sayHi = function() {
    console.log(`Salom, men ${this.name}`);
  };
}
 
const user1 = new User("Azizbek");
user1.sayHi(); // Salom, men Azizbek
  1. Arrow funksiyada bitta yuqoridagi scope’ning this qiymatiga teng.
function User(name) {
  this.name = name;
 
  this.sayHi = () => {
    console.log(`Salom, men ${this.name}`);
  };
}
 
const user1 = new User("Azizbek");
user1.sayHi(); // Salom, men Azizbek

Shunchaki bu misollar bilan xulosa qilib bo’lmaydi. O’zgarish holatlari ko’p. O’rganib chiqishni tafsiya qilaman.


Telegram kanalimga obuna bo'ling: @usmanov_dev