JavaScript-এ OOP-তে পদ্ধতি এবং বৈশিষ্ট্যের নামের দ্বন্দ্ব
বৈশিষ্ট্য এবং পদ্ধতির নাম মিলে যাওয়া উচিত নয়, এটি দ্বন্দ্বের সৃষ্টি করবে। আসুন একটি উদাহরণ দিয়ে দেখি। ধরুন আমাদের কাছে নিম্নলিখিত ক্লাস আছে:
class User {
name() {
console.log('method');
}
}
এই ক্লাসের একটি অবজেক্ট তৈরি করি:
let user = new User;
এর পদ্ধতিটি কল করি, যতক্ষণ সব কাজ করবে:
user.name(); // কাজ করে
এবার একই নামের একটি বৈশিষ্ট্যে ডেটা লিখি, thereby overwriting the method code:
user.name = 'str';
user.name(); // ত্রুটি
এই ধরনের দ্বন্দ্ব এড়াতে সর্বদা পদ্ধতিগুলোকে ক্রিয়ামূলক নাম দিন, এবং বৈশিষ্ট্যগুলোকে বিশেষ্যমূলক নাম দিন।
নিম্নলিখিত কোডে কৃত ভুলটি সংশোধন করুন:
class Employee {
constructor(salary) {
this.salary = salary;
}
salary() {
return this.salary + '
;
}
}