जावास्क्रिप्ट में ओओपी में विधियों और गुणों के नामों के टकराव
गुणों और विधियों के नाम मेल नहीं खाने चाहिए, इससे टकराव होगा। आइए एक उदाहरण पर देखें। मान लीजिए कि हमारे पास निम्नलिखित क्लास है:
class User {
name() {
console.log('method');
}
}
इस क्लास की एक वस्तु बनाएं:
let user = new User;
इसकी विधि को कॉल करें, अभी सब काम करेगा:
user.name(); // काम करता है
अब समान नाम वाले गुण में डेटा लिखें, जिससे विधि का कोड मिट जाएगा:
user.name = 'str';
user.name(); // त्रुटि
इस तरह के टकरावों से बचने के लिए हमेशा विधियों को क्रिया-नाम दें, और गुणों को संज्ञा-नाम दें।
निम्नलिखित कोड में की गई त्रुटि को सही करें:
class Employee {
constructor(salary) {
this.salary = salary;
}
salary() {
return this.salary + '
;
}
}