जावास्क्रिप्ट में ओओपी में पुराने स्टाइल में प्राइवेसी
प्राइवेट गुणों और विधियों की घोषणा
# प्रतीक के माध्यम से जावास्क्रिप्ट में
बहुत हाल ही में आई है। इससे पहले
एक विशेष चालाक तरीके का
उपयोग करना पड़ता था।
इस तरीके का सार यह है कि एक समझौता किया जाता है कि प्राइवेट गुणों और विधियों के नाम अंडरस्कोर प्रतीक से शुरू होने चाहिए। वास्तव में ऐसे नाम प्राइवेट नहीं होंगे, लेकिन हम इस बात पर सहमत होते हैं कि हम उन्हें क्लास के बाहर से उपयोग नहीं करेंगे।
आइए कोशिश करते हैं। आइए इस स्टाइल में एक प्राइवेट गुण बनाएं:
class User {
constructor(name) {
this._name = name;
}
show() {
return this._name;
}
}
क्लास की एक वस्तु बनाएं:
let user = new User('john', 'smit');
वह मेथड call करें जो हमारे गुण का मान दिखाता है:
console.log(user.show());
क्लास के बाहर से गुण तक पहुंचने का प्रयास त्रुटि नहीं देगा:
console.log(user._name); // कोई त्रुटि नहीं
निम्नलिखित कोड में गुणों को प्राइवेट बनाएं:
class Employee {
constructor(name, salary) {
this._name = name;
this._salary = salary;
}
getName() {
return this._name;
}
getSalary() {
return this._salary;
}
}
निम्नलिखित कोड में सहायक विधि को प्राइवेट बनाएं:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this._addSign(this.salary);
}
_addSign(num) {
return num + '
;
}
}