this anahtar kelimesi
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(); // 2Her ç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
-
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.
-
İsmi döndür
const user = { name: 'Ayşe', getName() { return ____.name; } };Cevabı göster
const user = { name: 'Ayşe', getName() { return this.name; } }; -
this kullanımını eşleştir
- this.name
- nesnenin adı
- this.count
- nesnenin sayacı
- this.greet()
- nesnenin metodu