CodeBlanks Logo Icon CodeBlanks

Metotlar ve this

JavaScript kursu · İleri seviye · Ders 9/100

Sınıf içinde metot tanımlamayı ve this bağlamını öğrenirsin.

Sınıfa yöntem ekleme

Sınıf gövdesine bir yöntem (method) yazmak, fonksiyon tanımlamaya benzer; function anahtar kelimesi gerekmez.

class User {
  greet() {
    return "Merhaba, " + this.name;
  }
}

Bu yöntem her örnek üzerinde çağrılabilir: u.greet(). Yöntemlerin içinde this, çağrıyı yapan örneği işaret eder.

this bağlamı

Bir yöntemin içinde this, o yöntemi çağıran örneği işaret eder. Bu sayede her örnek kendi verisini kullanır.

const a = new User("Ayşe");
const b = new User("Deniz");
a.greet(); // "Merhaba, Ayşe"
b.greet(); // "Merhaba, Deniz"

Aynı yöntem farklı örneklerle çağrıldığında this farklı bir nesneye bağlanır.

Uygulama Sayaç sınıfı

Bir Counter sınıfı tanımla. Yapıcısı this.count özelliğini 0 yapsın. increment adlı bir yöntem this.count değerini bir artırsın.

Örnek çözümü göster
this.count++ veya this.count += 1 kullanabilirsin.
Örnek çözüm:
class Counter {
  constructor() {
    this.count = 0;
  }
  increment() {
    this.count++;
  }
}

Kendini test et

  1. Bir yöntem içinde `this` neyi işaret eder?

    u.greet()
    • yöntemi çağıran örneği
    • sınıfın kendisini
    • global nesneyi
    • yöntemin adını
    Cevabı göster

    yöntemi çağıran örneği — Doğru! this, yöntemi çağıran örneğe bağlanır.

  2. Yöntemi çağır

    const u = new User("Ayşe");
    u.____;
    Cevabı göster
    const u = new User("Ayşe");
    u.greet();
  3. Kavramları eşleştir

    method
    sınıf gövdesinde tanımlı yöntem
    this
    çağıran örneği işaret eder
    this.name
    örneğin ad özelliği
    u.greet()
    yöntem çağrısı

İleri seviye bölümündeki tüm dersler