let या const के साथ घोषित वेरिएबल्स का उत्थापन
जबकि var के साथ घोषित वेरिएबल्स उत्थापन के दौरान अपेक्षित व्यवहार करते हैं, लेट या कॉन्स्ट के साथ घोषित वेरिएबल प्रदर्शित होते हैं भिन्न व्यवहार।
सभी का उत्थापन घोषणाएँ
सभी जावास्क्रिप्ट घोषणाएँ (var, Let, const, function, function*, class) उत्थापन से गुजरती हैं, जिसका अर्थ है कि वे अपने संबंधित दायरे में कहीं भी पहचानने योग्य हैं।
आरंभीकरण अंतर
हालाँकि, var/function/function* और Let/const/class घोषणाओं के बीच अंतर उनके आरंभीकरण में निहित है। दायरे की शुरुआत में बाइंडिंग निर्माण के क्षण से वार घोषणाओं को अपरिभाषित के साथ आरंभ किया जाता है। इसके विपरीत, लेट/कॉन्स्ट/क्लास घोषणाएं तब तक अप्रारंभीकृत रहती हैं जब तक कि उनके कथन का मूल्यांकन नहीं हो जाता। "जहां आरंभीकरण से पहले वेरिएबल तक पहुंचने पर परिणाम मिलता है ReferenceError.
उदाहरण:
x = y = "वैश्विक"; (समारोह() { एक्स; // अपरिभाषित य; // संदर्भ त्रुटि: y परिभाषित नहीं है var x = "स्थानीय"; चलो y = "स्थानीय"; }());
उत्थापन में लेट बनाम कॉन्स्ट
x = y = "global"; (function() { x; // undefined y; // Reference error: y is not defined var x = "local"; let y = "local"; }());
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3