मेरे पास एक ऐसा फ़ंक्शन है जिसका उपयोग केवल कक्षा के अंदर किया जा सकता है और यह कक्षा के बाहर पहुंच योग्य नहीं होना चाहता।ईएस 6 कक्षा के अंदर स्थानीय समारोह कैसे घोषित करें?
class Auth {
/*@ngInject*/
constructor($http, $cookies, $q, User) {
this.$http = $http;
this.$cookies = $cookies;
this.$q = $q;
this.User = User;
localFunc(); // Need to create this function, and need it to be accessible only inside this class
}
}
मैं अब तक वर्ग
function localFunc() {
return 'foo';
}
class Auth {
...
}
बाहर समारोह की घोषणा कर रहा है क्या किया बहरहाल, यह अच्छा के रूप में यह वैश्विक समारोह को प्रदूषित करता है, को छोड़कर मैं इसे Iife अंदर लिपटे। तो, क्या कोई तरीका है कि मैं एक ईएस 6 कक्षा के अंदर एक स्थानीय समारोह बना सकता हूं?
const localFunc = Symbol();
class Auth {
/*@ngInject*/
constructor($http, $cookies, $q, User) {
this.$http = $http;
this.$cookies = $cookies;
this.$q = $q;
this.User = User;
this[localFunc] = function() {
// I am private
};
}
}
यदि आप ईएस 6 मॉड्यूल लोडर का उपयोग कर रहे हैं, तो वर्ग के बाहर समारोह घोषित करने से वैश्विक दायरे को प्रदूषित नहीं किया जाएगा। ES6 – CodingIntrigue
@ MichałPerłakowski में निजी कार्यों को सुनिश्चित करने का यह तरीका है, मुझे नहीं लगता कि यह एक डुप्लिकेट है, [सुझाया गया कैननिकल] (https://stackoverflow.com/questions/22156326/private-properties-in-javascript-es6 -क्लास) * राज्यव्यापी, उदाहरण-विशिष्ट गुणों * कार्यों/विधियों के साथ सौदा करता है। – Bergi