CodeBlanks Logo Icon CodeBlanks

this anahtar kelimesi

JavaScript kursu · Başlangıç · Ders 75/133

Metot içinde this'in neyi işaret ettiğini ve nasıl çalıştığını öğrenirsin.

this nedir?

Bir metodun içinde this anahtar kelimesi, metodu çağıran nesneyi işaret eder. Böylece metot, kendi içinde bulunduğu nesnenin diğer özelliklerine erişebilir.

const user = {
  name: 'Ayşe',
  greet() {
    return 'Merhaba ' + this.name;
  }
};
user.greet(); // 'Merhaba Ayşe'

Burada this, user nesnesini işaret eder; this.name ile user.name'e erişirsin. Metot hangi nesne üzerinden çağrılırsa, this o nesneye bağlanır.

this ile özelliklere erişim

Bir metodun içinde this kullanarak aynı nesnenin diğer özelliklerini okuyabilir veya değiştirebilirsin. Bu, metotların nesnenin durumunu yönetmesini sağlar.

const counter = {
  count: 0,
  increment() {
    this.count = this.count + 1;
    return this.count;
  }
};
counter.increment(); // 1
counter.increment(); // 2

Her çağrıda this.count aynı nesnenin count özelliğini günceller. Bu sayede nesne kendi durumunu hatırlar.

Uygulama Oyuncu puanını artır

player nesnesi score özelliğine sahip. Kısa yazım ile addPoints metodu tanımla: points parametresi al ve this.score'a ekleyip yeni değeri döndür. Sonra console.log(player.addPoints(50)) ile çağır.

Örnek çözümü göster
const player = {
  score: 0,
  addPoints(points) {
    this.score = this.score + points;
    return this.score;
  }
};
console.log(player.addPoints(50));

Kendini test et

  1. user.greet() içinde this neyi işaret eder?

    const user = {
      name: 'Ayşe',
      greet() { return this.name; }
    };
    user.greet();
    • greet fonksiyonunu
    • user nesnesini
    • name değişkenini
    • global pencereyi
    Cevabı göster

    user nesnesini — Doğru! this, metodu çağıran user nesnesini işaret eder.

  2. İsmi döndür

    const user = {
      name: 'Ayşe',
      getName() {
        return ____.name;
      }
    };
    Cevabı göster
    const user = {
      name: 'Ayşe',
      getName() {
        return this.name;
      }
    };
  3. this kullanımını eşleştir

    this.name
    nesnenin adı
    this.count
    nesnenin sayacı
    this.greet()
    nesnenin metodu

Başlangıç bölümündeki tüm dersler