मुझे वर्तमान में जावास्क्रिप्ट में सिंगलेट बनाने के दो तरीके पता हैं। पहला:रिटर्न का उपयोग किये बिना एक कन्स्ट्रक्टर के साथ जावास्क्रिप्ट सिंगलटन कैसे बनाएं?
var singleton = {
publicVariable: "I'm public",
publicMethod: function() {}
};
यह बिल्कुल सही है कि इसमें कोई कन्स्ट्रक्टर नहीं है जहां मैं प्रारंभिक कोड चला सकता हूं।
दूसरा:
(function() {
var privateVariable = "I'm private";
var privateFunction = function() {}
return {
publicVariable: "I'm public",
publicMethod: function() {}
}
})();
पहले संस्करण निजी संपत्तियों नहीं है और न ही यह एक निर्माता है, लेकिन यह तेजी से और आसान है। दूसरा संस्करण अधिक जटिल, बदसूरत है, लेकिन इसमें एक कन्स्ट्रक्टर और निजी गुण हैं।
मुझे निजी संपत्तियों की आवश्यकता नहीं है, मैं सिर्फ एक कन्स्ट्रक्टर रखना चाहता हूं। क्या मुझे कुछ याद आ रहा है या केवल दो दृष्टिकोण हैं जो मुझे मिल गए हैं?
दूसरा दृष्टिकोण "बदसूरत" नहीं है; यह भाषा का एक प्राकृतिक हिस्सा है। कार्यों के साथ कार्यों को बनाने में सक्षम होने के कारण जावास्क्रिप्ट की सबसे शक्तिशाली विशेषताएं हैं। – Pointy