ECMAScript क्या है?


118

जब मैं जावास्क्रिप्ट के लिए अपने स्क्रिप्ट प्रकार सेट कर रहा हूँ दृश्य स्टूडियो में यह अंतर्मुखता में एक विकल्प के रूप में आता है।

एक त्वरित Google खोज लंगड़ा परिणाम के साथ आया, मुझे विश्वास है कि यह उपयोग करने के लिए बहुत लोकप्रिय नहीं है।

  • यह क्या है?
  • क्या कोई इसका उपयोग करता है? (<script type="text/ecmascript">)
  • क्यों?


ECMAScript और जावास्क्रिप्ट के बीच अंतर जानने से भी ECMAScript को समझने में मदद मिलती है।
RBT

जवाबों:


169

जावास्क्रिप्ट ECMAScript का सबसेट है। जावास्क्रिप्ट मूल रूप से अपने मूल पर ECMAScript है, लेकिन इस पर बनाता है। ActionScript, JavaScript, JScript जैसी भाषाएं ECMAScript का उपयोग इसके मूल के रूप में करती हैं। तुलना के रूप में, एएस / जेएस / जेस्क्रिप्ट 3 अलग-अलग कारें हैं, लेकिन वे सभी एक ही इंजन का उपयोग करते हैं ... उनके प्रत्येक एक्सटीरियर हालांकि अलग हैं, और इसे अद्वितीय बनाने के लिए प्रत्येक में कई संशोधन किए गए हैं।

इतिहास है, ब्रेंडन ईच ने मोचा बनाया जो लाइवस्क्रिप्ट और बाद में जावास्क्रिप्ट बन गया। नेटस्केप ने एक्मा इंटरनेशनल को जावास्क्रिप्ट प्रस्तुत किया , जो मानकों को विकसित करता है और इसका नाम बदलकर ECMA-262 उर्फ ​​ECMAScript रखा गया।

यह ध्यान रखना महत्वपूर्ण है कि ब्रेंडन ईच का "जावास्क्रिप्ट" वही जावास्क्रिप्ट नहीं है जो ECMAScript की एक बोली है। उन्होंने मुख्य भाषा का निर्माण किया था जिसका नाम बदलकर ECMAScript रखा गया था, जो आजकल जावास्क्रिप्ट से भिन्न ब्राउज़र-विक्रेताओं पर लागू होती है।

http://en.wikipedia.org/wiki/ECMAScript


33
क्या वह जावास्क्रिप्ट को ECMAScript का उपसमूह नहीं बनाता है, यदि ECMAScript कोर है?
रयान अमोस

15
जावास्क्रिप्ट (ऐतिहासिक रूप से) चीजों में ECMAScript नहीं है। जावास्क्रिप्ट (ऐतिहासिक रूप से कोशिश करता है) के पास सब कुछ ECMAScript है। इसलिए पोस्ट सही है, ECMAScript जावास्क्रिप्ट का एक सबसेट है। हालाँकि, दोनों को एक-दूसरे के बहुत पास रखा गया है (जबकि एक्शनस्क्रिप्ट को अब वास्तव में एक ECMAScript भाषा नहीं माना जाता है, जिसे इसने बहुत अधिक बदल दिया है, हालांकि इसमें इसकी जड़ें हैं)। ES और JS शब्द लगभग विनिमेय हैं।
नाथन वाल

22
मुझे नहीं लगता कि यह कहना सही है कि "ECMAScript जावास्क्रिप्ट का सबसेट है।" इसके बजाय, आपके द्वारा उद्धृत विकिपीडिया लेख इंगित करता है कि ECMAScript एक मानक है और यह कि जावास्क्रिप्ट उस मानक का एक प्रसिद्ध कार्यान्वयन है (एक्सटेंशन के साथ)
डेविड आरआर

2
मुझे लगता है कि आपके कहने का मतलब हैECMAScript is a superset of Javascript
'12:47

6
क्योंकि जावास्क्रिप्ट ECMAScript को लागू करता है और इसके ऊपर निर्माण भी करता है, मैं कहूंगा कि जावास्क्रिप्ट वहाँ ECMAScript का सुपरसेट है।
रेवलवेसी


32

ECMAScript = ES:

  • ECMAScript एक स्क्रिप्टिंग भाषाओं के लिए एक मानक है।

  • जावास्क्रिप्ट जैसी भाषाएँ ECMAScript मानक पर आधारित होती हैं।

  • ECMA Standard कई मूल प्रौद्योगिकियों पर आधारित है, जो सबसे प्रसिद्ध जावास्क्रिप्ट (नेटस्केप) और JScript (Microsoft) हैं।

  • ECMA का अर्थ है यूरोपीय कंप्यूटर निर्माता संघ


दूसरी तरफ:


जावास्क्रिप्ट = जेएस:

  • जावास्क्रिप्ट ECMAScript स्टैंडर्ड का सबसे लोकप्रिय कार्यान्वयन है।

  • जावास्क्रिप्ट की मुख्य विशेषताएं ECMAScript मानक पर आधारित हैं, लेकिन जावास्क्रिप्ट में अन्य अतिरिक्त विशेषताएं भी हैं जो ECMA विनिर्देशों / मानक में नहीं हैं।

  • ActionScript और JScript एक और भाषाएँ हैं जो ECMAScript को लागू करती हैं।

  • मानकीकरण के लिए जावास्क्रिप्ट को ECMA को प्रस्तुत किया गया था लेकिन जावास्क्रिप्ट नाम के साथ ट्रेडमार्क मुद्दों के कारण मानक को ECMAScript कहा जाता था।

  • हर ब्राउज़र में एक जावास्क्रिप्ट दुभाषिया होता है।


इस चेकआउट के बारे में अधिक जानकारी के लिए मेरा पूरा उत्तर यहां जावास्क्रिप्ट और ईसीएमएस्क्रिप्ट के बीच अंतर क्या है?


लगभग हर ब्राउज़र में जावास्क्रिप्ट का समर्थन होता है, लेकिन लिंक और लीनक्स जैसे बहुत सारे सीएलआई ब्राउज़र हैं जो इन के बगल में नहीं हैं: लिंक 2, डब्ल्यू 3 एम, एलिंक और एडब्रोस। CLI ब्राउज़र का अधिकांश हिस्सा JS को भी सपोर्ट नहीं करता है।
कैसियो सेफिन

16

ECMA का मतलब है - यूरोपीय कंप्यूटर निर्माता संघ। ECMAScript एक स्क्रिप्टिंग भाषा के लिए एक मानक है। यह उन मुख्य विशेषताओं को निर्दिष्ट करता है जो एक स्क्रिप्टिंग भाषा को प्रदान करनी चाहिए और उन सुविधाओं को कैसे लागू किया जाना चाहिए। जावास्क्रिप्ट मूल रूप से नेटस्केप में बनाया गया था, और वे भाषा को मानकीकृत करना चाहते थे। इसलिए, उन्होंने मानकीकरण के लिए यूरोपीय कंप्यूटर निर्माता संघ (ECMA) को भाषा प्रस्तुत की। लेकिन, जावास्क्रिप्ट नाम के साथ ट्रेडमार्क मुद्दे थे, और मानक को ECMAScript कहा जाता था, यह वह नाम है जो आज भी है।

तो आप किसी भी स्क्रिप्टिंग भाषा का उपयोग कर सकते हैं जो ECMA मानक को लागू करता है क्योंकि वेब ब्राउज़र ECMAScript व्याख्या का समर्थन करते हैं जब आप निर्दिष्ट कर रहे हैं ( <script type="text/ecmascript">)।


2

ECMA एक मूल संगठन है जिसने जावास्क्रिप्ट को खड़ा किया है। उन्होंने भाषा का नाम ECMAScript रखा, हालांकि "जावास्क्रिप्ट" वह शब्द था जिसने "नाम प्रतियोगिता" जीती थी


1

यहाँ इस विषय पर एक अलग दृष्टिकोण है। यह अनुभव से कम या ज्यादा है, मैं कुछ भी उद्धृत नहीं कर सकता। कोई भी जावास्क्रिप्ट सत्यापनकर्ता और हर कोई जो जावास्क्रिप्ट के साथ काम करता है, आपको बताएगा

alert("hello World");

मान्य जावास्क्रिप्ट है। और मैं भी सहमत हूँ।

हालाँकि, एक ECMAScript सत्यापनकर्ता शायद आपको बताएगा कि यह मान्य नहीं है, क्योंकि अलर्ट () ECMAScript का हिस्सा नहीं है, लेकिन आमतौर पर ब्राउज़रों के लिए जावास्क्रिप्ट की एक विशेषता है। जावास्क्रिप्ट की कई विशेषताएं हैं, जो केवल एक ब्राउज़र वातावरण, फाई विंडो।निवेगेटर, विंडो.डिमेंटमेंट, वेबसोकेट, नेविगेटर.गेलेओक्लेवेशन में समझ में आता है। कुछ कहेंगे, यह जावास्क्रिप्ट के लिए नहीं है, लेकिन HTML5 का हिस्सा है, जो सच नहीं है, क्योंकि HTML5 सिर्फ मार्कअप भाषा है। हालांकि, इन फैंसी नई सुविधाओं को अक्सर HTML5 कहा जाता है, भले ही वे जावास्क्रिप्ट में लागू हो।

जावास्क्रिप्ट का उपयोग सर्वर साइड स्क्रिप्टिंग के लिए भी किया जा सकता है। फिर सभी जियोलोकेशन या मीडिया एप्स का कोई मतलब नहीं है। इसलिए सर्वर साइड स्क्रिप्टिंग के लिए जावास्क्रिप्ट फिर से ECMAScript के बहुत करीब है, जिसमें यह विशिष्ट ब्राउज़र विशेषताएं नहीं हैं।

मैं वास्तव में यह पता नहीं लगा सका कि क्या मैथ ऑब्जेक्ट (जैसे Math.sqrt (9)) ECAMScript का हिस्सा है, या क्या ECMAScript वास्तव में भाषा के सिंटैक्स को परिभाषित करता है और कार्यक्षमता में इसका कोई निर्माण नहीं है। लेकिन एक ECMAScript सत्यापनकर्ता ने Math.sqrt (9) को मान्य ECMAScript के रूप में स्वीकार किया, जबकि var परीक्षण = window.document; ECMA सत्यापन विफल।

हालांकि, यह एक जावास्क्रिप्ट प्रलेखन के लिए निम्नलिखित लिंक है, मेरी राय में यह ECMAScript के फीचर सेट (ऑब्जेक्ट्स और फ़ंक्शंस) में बिल्ड है: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Ravference / Global_Objects

इसलिए मेरी राय में जावास्क्रिप्ट बहुत ही बारीकी से ब्राउज़र से जुड़ा हुआ है, जबकि ईसीएमएस्क्रिप्ट में वास्तव में केवल कार्यक्षमता का एक बहुत ही मूल सेट है (यदि बिल्कुल भी)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.