JavaScript-এ OOP-তে পদ্ধতি এবং বৈশিষ্ট্যের নামের দ্বন্দ্ব

বৈশিষ্ট্য এবং পদ্ধতির নাম মিলে যাওয়া উচিত নয়, এটি দ্বন্দ্বের সৃষ্টি করবে। আসুন একটি উদাহরণ দিয়ে দেখি। ধরুন আমাদের কাছে নিম্নলিখিত ক্লাস আছে:

javascriptclass User {
  name() {
    console.log('method');
  }
}

এই ক্লাসের একটি অবজেক্ট তৈরি করি:

javascriptlet user = new User;

এর পদ্ধতিটি কল করি, যতক্ষণ সব কাজ করবে:

javascriptuser.name(); // কাজ করে

এবার একই নামের একটি বৈশিষ্ট্যে ডেটা লিখি, thereby overwriting the method code:

javascriptuser.name = 'str';
user.name(); // ত্রুটি

এই ধরনের দ্বন্দ্ব এড়াতে সর্বদা পদ্ধতিগুলোকে ক্রিয়ামূলক নাম দিন, এবং বৈশিষ্ট্যগুলোকে বিশেষ্যমূলক নাম দিন।

Задание 1

নিম্নলিখিত কোডে কৃত ভুলটি সংশোধন করুন:

javascriptclass Employee {
  constructor(salary) {
    this.salary = salary;
  }
  salary() {
    return this.salary + '
;
  }
}