OOP-daky JavaScript-da usullaryň we aýratynlyklaryň ad çakyşyklary
Aýratynlyk we usul adlary deňeşdirilmezlik, bu çakyşyk döreder. Geliň bir mysalda görüň. Bizde aşakdaky klas bolsun:
class User {
name() {
console.log('usul');
}
}
Bu klasyň obýektini döreteliň:
let user = new User;
Onyň usulyny çagyralym, häzirçe hemme işlär:
user.name(); // işleýär
Indi bolsa, deňeşdirilen aýratynlyga maglumat ýazalyň, şeýlelik bilen usul koduny üstünden ýazyp:
user.name = 'str';
user.name(); // ýalňyşlyk
Beýle çakyşyklardan gaça durmak üçin hemişe usullaryňa hereket atlaryny, aýratynlyklara bolsa zat atlaryny beriň.
Aşakdaky kodda ýüze çykan ýalňyşlygy düzediň:
class Employee {
constructor(salary) {
this.salary = salary;
}
salary() {
return this.salary + '
;
}
}