Конфликти на имињата на методи и својства во ООП во JavaScript

Имињата на својствата и методите не треба да совпаѓаат, тоа ќе предизвика конфликт. Да погледнеме на пример. Нека имаме следнава класа:

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

Да создадеме објект од оваа класа:

javascriptlet user = new User;

Да го повикаме неговиот метод, сеуште сè ќе работи:

javascriptuser.name(); // works

А сега да запишеме податоци во истоимено својство, со што го пребришуваме кодот на методот:

javascriptuser.name = 'str';
user.name(); // error

За да се избегнат вакви конфликти секогаш давајте им на методите имиња-глаголи, а на својствата - имиња-именки.

Задание 1

Исправете ја грешката, направена во следниот код:

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