Konflikti imena metoda i svojstava u OOP u JavaScript-u

Imena svojstava i metoda ne treba da se poklapaju, jer će to izazvati konflikt. Pogledajmo na primeru. Neka postoji sledeća klasa:

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

Kreirajmo objekat ove klase:

javascriptlet user = new User;

Pozovimo njegov metod, za sada će sve raditi:

javascriptuser.name(); // radi

A sada upišimo podatke u istoimeno svojstvo, time brišući kod metoda:

javascriptuser.name = 'str';
user.name(); // greška

Da biste izbegli ovakve konflikte, uvek dajte metodima imena koja su glagoli, a svojstvima - imena koja su imenice.

Задание 1

Ispravite grešku koja je napravljena u sledećem kodu:

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