Konflikty nazw metod i właściwości w OOP w JavaScript

Nazwy właściwości i metod nie powinny pasować, spowoduje to konflikt. Spójrzmy na przykład. Załóżmy, że mamy następującą klasę:

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

Utwórzmy obiekt tej klasy:

javascriptlet user = new User;

Wywołajmy jej metodę, na razie wszystko będzie działać:

javascriptuser.name(); // działa

A teraz zapiszmy dane we właściwość o tej samej nazwie, tym samym nadpisując kod metody:

javascriptuser.name = 'str';
user.name(); // błąd

Aby uniknąć takich konfliktów zawsze nadawaj metodom nazwy-czasowniki, a właściwościom - nazwy-rzeczowniki.

Задание 1

Popraw błąd popełniony w następującym kodzie:

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