Metotlar ve this
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
-
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.
-
Yöntemi çağır
const u = new User("Ayşe"); u.____;Cevabı göster
const u = new User("Ayşe"); u.greet(); -
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ı