javascript कौन से(जावास्क्रिप्ट) वातावरण ECMAscript 5 सख्त मोड का समर्थन करते हैं?(उर्फ "सख्त प्रयोग करें")




strict ecma262 (4)

ECMAscript 5 सख्त मोड में प्रमुख ब्राउज़रों (या उच्चतर) के लिए इन संस्करणों की आवश्यकता होती है:

क्रोम 13.0
सफारी 5.1
फ़ायरफ़ॉक्स 4.0
इंटरनेट एक्सप्लोरर 10.0
ओपेरा 11.6

नहीं, IE9 में सख्त समर्थन नहीं है, यह संस्करण 10 या बाद के लिए नया है।

ECMAScript 5 अपने अंतिम मसौदे में है क्योंकि मैं इसे लिखता हूं; यह एक सख्त मोड को शामिल करने के कारण है जो आपको वैश्विक ऑब्जेक्ट को असाइन करने, eval और अन्य प्रतिबंधों का उपयोग करने से रोक देगा। ( जॉन रेजिग का लेख एक अच्छा परिचय है।)

इस जादुई पवित्रता-बचत मोड को अपनी फ़ाइल (या फ़ंक्शन) के शीर्ष पर स्ट्रिंग "उपयोग सख्त" को शामिल करके ट्रिगर किया गया है, हालांकि, पुराने वातावरण में, "सख्त का उपयोग करें" एक नो-ऑप है। यदि आप "सख्त का उपयोग करते हैं" जोड़ते हैं और इसे सख्त वातावरण में परीक्षण नहीं करते हैं, तो आप वास्तव में सख्त कोड के समय-बम को छोड़ सकते हैं, जो वास्तव में एक सख्त वातावरण से टकराता है।

कौन से वातावरण वास्तव में "सख्त उपयोग" का सम्मान करते हैं?


अब जब कि यह वास्तव में जारी किया गया है, फ़ायरफ़ॉक्स 4 "पहले ब्राउज़र है जो ईएस 5 सख्त मोड का समर्थन करता है।" अब आप इसका उपयोग शुरू कर सकते हैं, जब तक आप फ़ायरफ़ॉक्स 4 में परीक्षण करते हैं।

सफारी 5.1+ और क्रोम 13+ भी सख्त मोड का समर्थन करते हैं।

पहले एक में है: Besen । डेल्फी में लागू किया गया। मुझे लगता है कि यह अकेला है, लेकिन मुझे यकीन नहीं है। लेकिन यह सख्त मोड का समर्थन करता है।

इस संगतता तालिका के माध्यम से मिला।

ईआर 5 सख्त मोड का समर्थन करने के लिए Jurassic दावा करता है।


अपडेट :

मेरी संगतता तालिका देखें।

मूल प्रतिक्रिया :

अब जैसा कोई नहीं।

राफेल स्पायर इस गर्मी के दौरान राइनो के लिए मोज़िला कार्यान्वयन पर काम कर रहे थे , और अफ़ीक, उनका कार्यान्वयन पूरा होने के बहुत करीब है।

मुझे पता है (ES- चर्चा सूची से जानकारी के आधार पर) कि Microsoft IE के आगामी संस्करणों में ES5 सुविधाओं में से कुछ को शामिल करने की योजना बना रहा है और वे अभी सख्त मोड कार्यान्वयन पर काम कर सकते हैं (जैसा कि आप शायद जानते हैं, IE8 में पहले से ही कुछ शामिल हैं Object.defineProperty सुविधाओं की तरह, Object.defineProperty )।

Google की काजा परियोजना भी है जो कुछ हद तक अपनी विविधताओं (वालिजा, कजिता, आदि) में सख्त मोड के व्यवहार का अनुकरण करती है।

क्रॉकफोर्ड ने हाल ही में इस विकल्प को JSLint जोड़ा, लेकिन मुझे यकीन नहीं है कि यह वास्तव में किसी भी अतिरिक्त सत्यापन (ईएस 5-सख्त नियमों के अनुसार) को ट्रिगर करता है।


ओपेरा 11.60 पहले से ही पूरी तरह से ECMAScript 5.1 का समर्थन करता है और यह सख्त मोड भिन्नता है। @ भाषा संगतता तालिका देखें।





ecmascript-5