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:

javascriptclass User {
  name() {
    console.log('metod');
  }
}

Bu klasın obyektini yaradaq:

javascriptlet user = new User;

Onun metodunu çağıraq, hələlik hər şey işləyəcək:

javascriptuser.name(); // işləyir

İndi isə eyni adlı xassəyə məlumat yazaq, bununla da metodun kodunu üstünü örtək:

javascriptuser.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.

Задание 1

Aşağıdakı kodda edilmiş səhvi düzəldin:

javascriptclass Employee {
  constructor(salary) {
    this.salary = salary;
  }
  salary() {
    return this.salary + '
;
  }
}