जावास्क्रिप्ट में ओओपी में प्राइवेट मेथड्स

न केवल गुण, बल्कि मेथड्स भी प्राइवेट हो सकते हैं। आमतौर पर सहायक मेथड्स को प्राइवेट बनाया जाता है ताकि वे गलती से क्लास के बाहर से नहीं बुलाए जा सकें।

आइए एक उदाहरण देखें। मान लीजिए कि हमारे पास निम्नलिखित क्लास है:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
}

आइए इस क्लास में एक प्राइवेट मेथड बनाएं, जो एक स्ट्रिंग को पैरामीटर के रूप में लेगा और उसके पहले अक्षर को बड़ा कर देगा:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
  
  #cape(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

आइए अपने सहायक मेथड का उपयोग दूसरे मेथड के अंदर करें:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#cape(this.#name);
  }
  
  #cape(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

आइए जाँच करें। आइए अपनी क्लास की एक वस्तु बनाएं:

javascriptlet user = new User('john');

आइए उस पब्लिक मेथड को कॉल करें, जो सहायक मेथड का उपयोग करता है:

javascriptconsole.log(user.show());
Задание 1

निम्नलिखित कोड में सहायक मेथड को प्राइवेट बनाएं:

javascriptclass Employee {
  constructor(name, salary) {
    this.name = name;
    this.salary = salary;
  }
  
  getSalary() {
    return this.addSign(this.salary);
  }
  
  addSign(num) {
    return num + '₽';
  }
}