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:
class User {
name() {
console.log('method');
}
}
Izveidosim šīs klases objektu:
let user = new User;
Izsauksim tā metodi, pagaidām viss darbosies:
user.name(); // darbojas
Un tagad ierakstīsim datus tāda paša nosaukuma īpašībā, tādējādi aizstājot metoda kodu:
user.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.
Izlabojiet kļūdu, kas pieļauta sekojošajā kodā:
class Employee {
constructor(salary) {
this.salary = salary;
}
salary() {
return this.salary + '
;
}
}