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 + '
;
}
}