JavaScript-те ООП-де әдістер мен қасиеттер атауларының қактығысы
Қасиеттер мен әдістер атаулары сәйкес келмеуі керек, әйтпесе қактығыс туады. Мысал арқылы қарастырайық. Бізде келесі сынып бар делік:
class User {
name() {
console.log('әдіс');
}
}
Осы сыныптың нысанын жасайық:
let user = new User;
Оның әдісін шақырайық, әлі бәрі жұмыс істейді:
user.name(); // жұмыс істейді
Енді бірдей атауға ие қасиетке мәліметтер жазып, осылайша әдіс кодын өшірейік:
user.name = 'str';
user.name(); // қате
Осындай қактығыстарды болдырмау үшін әдістерге әрекет етіс, ал қасиеттерге зат есім атаулар беріңіз.
Төмендегі кодта жасалған қатені түзетіңіз:
class Employee {
constructor(salary) {
this.salary = salary;
}
salary() {
return this.salary + '₸';
}
}