"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या ES6 में तत्काल त्वरित अनाम कक्षाएं एक बुरा विचार है?

क्या ES6 में तत्काल त्वरित अनाम कक्षाएं एक बुरा विचार है?

2024-11-09 को प्रकाशित
ब्राउज़ करें:528

Are Immediately Instantiated Anonymous Classes in ES6 a Bad Idea?

तत्काल तात्कालिक अनाम कक्षाएं: आपदा के लिए एक नुस्खा

ईएस6 में, अनाम कक्षाओं को परिभाषित करने की क्षमता वर्ग घोषणाओं के लिए वाक्यात्मक चीनी प्रदान करती है। सुविधाजनक होते हुए भी, ऐसी कक्षाओं की तत्काल शुरुआत कई समस्याओं को जन्म दे सकती है। प्रोटोटाइप वस्तु गतिशील रूप से। अभिव्यक्ति के प्रत्येक मूल्यांकन के परिणामस्वरूप एक अलग कंस्ट्रक्टर फ़ंक्शन और प्रोटोटाइप होता है।

नामित कक्षाओं के विपरीत, तुरंत त्वरित अनाम कक्षाएं हर बार एक नया कंस्ट्रक्टर और प्रोटोटाइप बनाती हैं। इसका मतलब यह है कि कई उदाहरण एक ही प्रोटोटाइप को साझा नहीं करेंगे, जिससे वर्ग विरासत और प्रोटोटाइप साझाकरण के लाभ खो जाएंगे।

सिंगलटन भ्रम:

यदि इस पैटर्न का उपयोग करने के पीछे का इरादा बनाना है एक सिंगलटन ऑब्जेक्ट, यह विफल रहता है। कंस्ट्रक्टर फ़ंक्शन सुलभ रहता है, जिससे नई इकाई.कंस्ट्रक्टर का उपयोग करके कई उदाहरणों के निर्माण की अनुमति मिलती है। एक साधारण वस्तु शाब्दिक एक अधिक कुशल और सीधा विकल्प प्रदान करता है:

var इकाई = { नाम: 'फू', getName: function() {वापस this.name; } };

चेतावनी: क्रॉस-लैंग्वेज विचार
हालांकि नया वर्ग पैटर्न कुछ अन्य भाषाओं में स्वीकार्य है, यह जावास्क्रिप्ट में अलग तरह से व्यवहार करता है। जावास्क्रिप्ट के वर्ग निर्माण की गतिशील प्रकृति इन भाषाओं को मिलने वाले लाभों को रोकती है।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729392316 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3