JavaScript'te OOP'de Metot ve Özellik İsim Çakışmaları
Özellik ve metot isimleri çakışmamalıdır, bu bir çakışmaya yol açar. Bir örnek üzerinden inceleyelim. Aşağıdaki sınıfa sahip olduğumuzu varsayalım:
class User {
name() {
console.log('metot');
}
}
Bu sınıfın bir nesnesini oluşturalım:
let user = new User;
Metodunu çağıralım, şimdilik her şey çalışıyor:
user.name(); // çalışıyor
Şimdi ise aynı isimli özelliğe veri yazalım, böylece metot kodunun üzerine yazmış olalım:
user.name = 'str';
user.name(); // hata
Bu tür çakışmalardan kaçınmak için metotlara her zaman fiil isimleri, özelliklere ise isim isimleri verin.
Aşağıdaki kodda yapılan hatayı düzeltin:
class Employee {
constructor(salary) {
this.salary = salary;
}
salary() {
return this.salary + '
;
}
}