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