Konflikty mien metód a vlastností v OOP v JavaScripte

Mená vlastností a metód by nemali zhodovať, to spôsobí konflikt. Pozrime sa na príklad. Nech máme nasledujúcu triedu:

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

Vytvorme objekt tejto triedy:

javascriptlet user = new User;

Zavolajme jej metódu, pokiaľ všetko bude fungovať:

javascriptuser.name(); // funguje

A teraz zapíšme dáta do rovnomennej vlastnosti, čím prepíšeme kód metódy:

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

Pre vyhnutie sa podobným konfliktom vždy dávajte metódam mená-slovesá, a vlastnostiam mená-podstatné mená.

Задание 1

Opravte chybu, ktorá bola urobená v nasledujúcom kóde:

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