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