Meetodite ja omaduste nimekonfliktid OOP-s JavaScriptis

Omaduste ja meetodite nimed ei tohiks kattuda, see põhjustab konflikti. Vaatame näidet. Oletame, et meil on järgmine klass:

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

Loome selle klassi objekti:

javascriptlet user = new User;

Kutsume selle meetodit, seni kõik töötab:

javascriptuser.name(); // töötab

Nüüd kirjutame andmed samanimelisse omadusse, kirjutades seeläbi meetodi koodi üle:

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

Selliste konfliktide vältimiseks andke alati meetoditele verbinäited ja omadustele substantiivsed nimed.

Задание 1

Parandage järgmises koodis tehtud viga:

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