OOP-də metod və xassələrin ad toqquşmaları JavaScript-də
Xassələrin və metodların adları üst-üstə düşməməlidir, bu toqquşmaya səbəb olacaq. Nümunəyə baxaq. Tutaq ki, bizim aşağıdakı klasımız var:
class User {
name() {
console.log('metod');
}
}
Bu klasın obyektini yaradaq:
let user = new User;
Onun metodunu çağıraq, hələlik hər şey işləyəcək:
user.name(); // işləyir
İndi isə eyni adlı xassəyə məlumat yazaq, bununla da metodun kodunu üstünü örtək:
user.name = 'str';
user.name(); // səhv
Bu cür toqquşmaların qarşısını almaq üçün həmişə metodlara feillərdən ibarət adlar verin, xassələrə isə - isimlərdən ibarət adlar.
Aşağıdakı kodda edilmiş səhvi düzəldin:
class Employee {
constructor(salary) {
this.salary = salary;
}
salary() {
return this.salary + '
;
}
}