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

ES6 ब्लॉक-स्तरीय फ़ंक्शन शब्दार्थ सख्त और गैर-सख्त मोड में कैसे भिन्न होते हैं, और वेब एक्सटेंशन उन्हें कैसे प्रभावित करते हैं?

2024-12-22 को प्रकाशित
ब्राउज़ करें:202

How Do ES6 Block-Level Function Semantics Differ in Strict and Non-Strict Modes, and How Do Web Extensions Affect Them?

ES6 ब्लॉक-स्तरीय कार्यों के शब्दार्थ को समझना

परिचय
ES6 के आगमन के साथ, ब्लॉक -लेवल फ़ंक्शन घोषणाएँ भाषा के लिए एक मूल्यवान अतिरिक्त बन गईं। प्रारंभिक मान्यताओं के बावजूद, इन कार्यों के सटीक शब्दार्थ में एक व्यापक स्पेक्ट्रम शामिल है, जिसमें सख्त और गैर-सख्त मोड और ब्राउज़र संगतता विचारों के बीच अंतर शामिल है।

शब्दार्थ
नीचे दी गई तालिका सारांशित करती है ब्लॉक-स्तरीय फ़ंक्शन शब्दार्थ के प्रमुख पहलू:

निष्पादन पर्यावरणब्लॉक के बाहर दृश्यमानब्लॉक के शीर्ष पर फहराया गयाTDZ
गैर-सख्त, कोई वेब एक्सटेंशन नहींहाँ, पसंद है varहांकोई नहीं
सख्त, कोई वेब एक्सटेंशन नहींनहींहांकोई नहीं
गैर-सख्त, वेब एक्सटेंशनहां, जैसे varहांकोई नहीं
सख्त, वेब एक्सटेंशननहींहां, दो बार (फ़ंक्शन और ब्लॉक)फ़ंक्शन-स्कोप्ड बाइंडिंग पहले अपरिभाषित है घोषणा

सख्त मोड निहितार्थ
इस संदर्भ में "सख्त मोड" की अवधारणा का तात्पर्य [[सख्त]] आंतरिक स्लॉट से है फ़ंक्शन ऑब्जेक्ट, फ़ंक्शन की कठोरता नहीं। इसलिए, एक गैर-सख्त आसपास के कोड के भीतर "सख्त उपयोग करें" के साथ एक फ़ंक्शन घोषणा को शामिल करने वाले कोड स्निपेट को अभी भी "गैर-सख्त" माना जाता है।

वेब एक्सटेंशन
वेब एक्सटेंशन" केवल "समझदार" फ़ंक्शन स्टेटमेंट उपस्थिति वाले गैर-सख्त (मैला) कोड पर लागू होते हैं। वेब संगतता शब्दार्थ के साथ मैला मोड में, एक ब्लॉक के भीतर एक फ़ंक्शन घोषणा को निम्नानुसार नियंत्रित किया जाता है:

  1. फ़ंक्शन घोषणा को लेक्सिकल ब्लॉक के शीर्ष पर फहराया जाता है।
  2. एक var घोषणा एन्क्लोजिंग फ़ंक्शन पर फहराया जाता है, जिसे अपरिभाषित में आरंभ किया जाता है।
  3. जब फ़ंक्शन घोषणा का मूल्यांकन किया जाता है, तो फ़ंक्शन ऑब्जेक्ट को फ़ंक्शन-स्कोप को सौंपा जाता है चर।

संक्षेप में, इस व्यवहार के परिणामस्वरूप एक ही नाम के साथ दो अलग-अलग बाइंडिंग होती हैं, एक ब्लॉक-स्कोप्ड और दूसरा फ़ंक्शन-स्कोप्ड।

निष्कर्ष
जबकि ES6 में ब्लॉक-स्तरीय फ़ंक्शन विस्तारित कार्यक्षमता प्रदान करते हैं, सख्त मोड और वेब संगतता के बीच परस्पर क्रिया सहित उनके सटीक शब्दार्थ को समझना, उचित उपयोग सुनिश्चित करने और संभावित से बचने के लिए महत्वपूर्ण है नुकसान.

नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3