2010-11-24 20 views
13

यदि मैं अपने स्क्रिप्ट टैग को ईसीएमए के रूप में परिभाषित करना शुरू करता हूं तो क्या होगा? क्या यह एक अलग मानक के लिए निष्पादित होगा?जावास्क्रिप्ट और ईसीएमए स्क्रिप्ट के बीच क्या अंतर है?

क्या कोई वास्तव में सीधे जावास्क्रिप्ट के बजाय ईसीएमए स्क्रिप्ट का उपयोग करता है ...?

+2

यह सुनिश्चित नहीं है कि यह एक डुप्लिकेट है, लेकिन पहले यह पूछा गया था: http://stackoverflow.com/questions/4269150/what-is-ecmascript यहां लगभग एक ही शीर्षक के साथ एक प्रश्न है: http: // stackoverflow .com/प्रश्न/912479/जावास्क्रिप्ट-एंड-एस्मास्क्रिप्ट – user113716

+0

के बीच क्या अंतर है- उत्तर दिया गया और उत्तर दिया: http://stackoverflow.com/questions/912479/what-is-the-difference-between-javascript -and-ecmascript –

+0

यहां मुझे एक अच्छा लिंक मिला जो जावास्क्रिप्ट और ईसीएमएस्क्रिप्ट के बीच अंतर को समझाता है: https://medium.freecodecamp.org/whats-the-difference-between-javascript-and-ecmascript-cba48c73a2b5 –

उत्तर

27

ईसीएमएस्क्रिप्ट एक मानक है। जावास्क्रिप्ट उस मानक का कार्यान्वयन है (उस मानक का संस्करण 3 अधिक सटीक होना)।

ईसीएमएस्क्रिप्ट के अन्य कार्यान्वयन एक्शनस्क्रिप्ट और जेस्क्रिप्ट हैं।

यह भी ध्यान रखें है कि वहाँ नहीं एक जावास्क्रिप्ट। जब भी यह ईसीएमएस्क्रिप्ट आवश्यकताओं को पूरा करता है तब तक प्रत्येक जावास्क्रिप्ट इंजन भाषा के अपने संस्करण को कार्यान्वित कर सकता है। इसका मतलब है कि ब्राउज़र (जेएस इंजन) अतिरिक्त कार्यक्षमता हो सकता है, लेकिन वे सभी आधार ECMAScript कार्यक्षमता होना चाहिए।

और अब, आपके सवाल का जवाब देने के लिए, RFC 4329 के अनुसार, मीडिया प्रकार application/javascript से, application/ecmascript पर सेट है बल्कि, यह एक सख्त मानक का पालन करना होगा।

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

+0

उपयोग न करें स्क्रिप्ट प्रकार के रूप में 'एप्लिकेशन/*', आईई उस पर चकित होगा। –

+0

अच्छा बिंदु, लेकिन मैं आरएफसी सिफारिशों के अनुरूप 'टेक्स्ट/*' के बजाय 'आवेदन/*' का उपयोग करना चाहता था। यदि आप 'text/*' के साथ प्रतिस्थापित करते हैं तो तर्क अभी भी लागू होते हैं। –

+0

मैं बिल्कुल ठीक नहीं कर रहा हूं। क्या यह कहने की तरह है कि मानक से आप वाक्यविन्यास और विशेषताओं के सामान्य सेट (जावा में एक इंटरफ़ेस की तरह) का मतलब है, और शायद एक कार्यान्वयन अतिरिक्त चीजों जैसे कि लैम्बडास की अनुमति दे सकता है जबकि अन्य कार्यान्वयन नहीं हो सकता है? –

3

ईसीएमएस्क्रिप्ट एक प्रोग्रामिंग भाषा मानक है, जैसे लिस्प। जावास्क्रिप्ट गैर-ईसीएमएस्क्रिप्ट सुविधाओं के साथ डीओएम जैसे कार्यान्वयन का कार्यान्वयन है। एक्शनस्क्रिप्ट (फ्लैश के लिए) एक और है। "लिस्प" में लिखने की तरह ही सामान्य लिस्प या योजना जैसी कुछ बोलीभाषा में लिखना है, वास्तव में सीधे ईसीएमएस्क्रिप्ट लिखना न केवल व्यर्थ हो सकता है, लेकिन बोलियों में अनुपयोगी है (हालांकि मुझे लगता है कि एक्शनस्क्रिप्ट 3 और हालिया जावास्क्रिप्ट पूरे ईसीएमएस्क्रिप्ट मानक को लागू करता है) ।

संबंधित मुद्दे