Metodu un īpašību nosaukumu konflikti OOP JavaScript

Īpašību un metožu nosaukumi nedrīkst sakrist, tas izraisīs konfliktu. Apskatīsim to ar piemēru. Pieņemsim, ka mums ir šāda klase:

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

Izveidosim šīs klases objektu:

javascriptlet user = new User;

Izsauksim tā metodi, pagaidām viss darbosies:

javascriptuser.name(); // darbojas

Un tagad ierakstīsim datus tāda paša nosaukuma īpašībā, tādējādi aizstājot metoda kodu:

javascriptuser.name = 'str';
user.name(); // kļūda

Lai izvairītos no šādiem konfliktiem, vienmēr dodiet metodiem darbības vārdu nosaukumus, un īpašībām - lietvārdu nosaukumus.

Задание 1

Izlabojiet kļūdu, kas pieļauta sekojošajā kodā:

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