JavaScript හි OOP හි ක්රම හා ගුණාංගවල නම් ගැටුම්
ගුණාංග හා ක්රමවල නම් ගැලපිය යුතු නැත, මෙය ගැටුමක් ඇති කරයි. අපි උදාහරණයක් බලමු. අපට පහත පන්තිය ඇතැයි සිතමු:
class User {
name() {
console.log('method');
}
}
මෙම පන්තියේ වස්තුවක් සාදමු:
let user = new User;
එහි ක්රමය කැඳවමු, දැනට සියල්ල ක්රියාත්මක වනු ඇත:
user.name(); // works
දැන් එකම නමින් ගුණාංගයකට දත්ත ලියන්න, එමගින් ක්රමයේ කේතය මකා දමමු:
user.name = 'str';
user.name(); // error
මෙවැනි ගැටුම් වළක්වා ගැනීම සඳහා සැමවිටම ක්රමවලට ක්රියාපද නම් දෙන්න, ගුණාංගවලට - සාර්ථක නම් දෙන්න.
පහත කේතයේ සිදු කරන ලද දෝෂය නිවැරදි කරන්න:
class Employee {
constructor(salary) {
this.salary = salary;
}
salary() {
return this.salary + '
;
}
}