सरणी और वस्तुओं में अनुगामी अल्पविराम: मानक या सहनीय?
सरणी और वस्तुओं में अनुगामी अल्पविराम की उपस्थिति ने उनके संबंध में कुछ बहस छेड़ दी है जावास्क्रिप्ट में मानकीकरण। यह प्रश्न विभिन्न ब्राउज़रों, विशेष रूप से इंटरनेट एक्सप्लोरर के पुराने संस्करणों में देखे गए असंगत व्यवहार से उत्पन्न होता है। ), ऑब्जेक्ट शाब्दिक में अनुगामी अल्पविरामों की स्पष्ट रूप से अनुमति है:
ObjectLiteral : { } {PropertyNameAndValueList} { PropertiesNameAndValueList , }इसलिए, ऑब्जेक्ट शाब्दिक में अनुगामी अल्पविराम आधिकारिक जावास्क्रिप्ट विनिर्देश का हिस्सा हैं।
ES3 बनाम ES5ObjectLiteral : { } { PropertyNameAndValueList } { PropertyNameAndValueList , }
दिलचस्प बात यह है कि, अनुगामी ऑब्जेक्ट शाब्दिक में अल्पविराम ईसीएमएस्क्रिप्ट 3 विनिर्देश का हिस्सा नहीं थे। हालाँकि, उन्हें ECMAScript 5 में एक वैकल्पिक सुविधा के रूप में पेश किया गया था। सरणी शाब्दिक:
ArrayLiteral : [एलिज़ियोऑप्ट] [तत्व सूची] [ ElementList , Elision_opt ]"एलिसन" एक अल्पविराम को संदर्भित करता है जिसमें कोई संबद्ध तत्व नहीं होता है, जिसका अर्थ है कि सरणियों में खाली तत्व हो सकते हैं। इसलिए, [1,2,,,,] जैसी एक सरणी वैध जावास्क्रिप्ट है, जो दो तत्वों के साथ एक सरणी बनाती है लेकिन लंबाई पांच है।
ब्राउज़र संगतताजबकि अनुगामी अल्पविराम जावास्क्रिप्ट विनिर्देश का हिस्सा हैं, ब्राउज़र समर्थन समय के साथ भिन्न होता गया है। IE8 जैसे पुराने ब्राउज़रों को अनुगामी अल्पविरामों के साथ समस्याओं का सामना करना पड़ सकता है, लेकिन क्रोम और फ़ायरफ़ॉक्स जैसे आधुनिक ब्राउज़र उनका पूरी तरह से समर्थन करते हैं। संस्करण। यह सुविधा कोड पठनीयता और रखरखाव में लचीलापन प्रदान करती है और आधुनिक ब्राउज़रों द्वारा व्यापक रूप से समर्थित है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3