JavaScript और ECMAScript में क्या अंतर है?


462

ECMAScript और JavaScript में क्या अंतर है? मैंने जो घटाया है, उसमें से ECMAScript मानक है और जावास्क्रिप्ट कार्यान्वयन है। क्या ये सही है?

जवाबों:


183

ECMAScript भाषा है, जबकि जावास्क्रिप्ट, JScript और यहां तक ​​कि ActionScript 3 को "बोलियाँ" कहा जाता है। विकिपीडिया इस पर कुछ प्रकाश डालता है।


9
क्या वास्तव में अच्छा होगा जावास्क्रिप्ट और ECMAScript संस्करणों के बीच एक स्पष्ट मानचित्रण है, उदाहरण के लिए ES5 JS1.5 आदि से मेल खाता है। आह मुझे यह मिला: en.wikipedia.org/wiki/JavaScript#Versions
सैम जोसेफ

2
@Sam - सैम के लिंक का अपडेट: en.wikipedia.org/wiki/JavaScript#Version_history
Rop

65
डाउनिंग और उत्कीर्ण यांग ली का, क्योंकि यह उत्तर बहुत कम कहता है और मूल रूप से आपको विकिपीडिया की ओर इशारा करता है। यांग ली का उत्तर अधिक विस्तृत और उपयोगी है। इसके अलावा, चाहे कोई भी भाषा / मानक हो और अन्य बोली, या कार्यान्वयन आदि की राय के लिए खुला है, और तथ्य नहीं है, जो मैं समझता हूं। जबकि यह उत्तर यह प्रकट करता है कि यह तथ्य है। अगर मैं ग़लत हूं तो मेरी गलती सुझाएं। वास्तव में, मैं यह तर्क दूंगा कि इस उत्तर का सुझाव भी आम सहमति का नहीं है। जैसा कि अधिकांश देखें ईसीएमएस्क्रिप्ट में भाषा के रूप में मानक और जावास्क्रिप्ट है।
redfox05

1
@ रोप - उस लिंक को अपडेट करें: en.wikipedia.org/wiki/ECMAScript#Version_correspondence
HDave

5
मैं असहमत हूं। ECMAScript विनिर्देशन है। JS, JScript, ActionScript ऐसी भाषाएँ हैं जो ऐसे विनिर्देशन को लागू करती हैं।
एड्रिपानिको

611

मुझे लगता है कि थोड़ा इतिहास सबक है।

जावास्क्रिप्ट को मूल रूप से मोचा नाम दिया गया था और यह लिवरस्क्रिप्ट में बदल गया लेकिन अंततः जावास्क्रिप्ट बन गया।

यह ध्यान रखना महत्वपूर्ण है कि जावास्क्रिप्ट ECMAscript से पहले आया था और इतिहास आपको बताएगा कि क्यों।

शुरुआत से शुरू करने के लिए, जावास्क्रिप्ट ने अपना नाम जावा से लिया और शुरू में ब्रेंडन ईच (जेएस के निर्माता) को एक ऐसी भाषा विकसित करने के लिए कहा गया, जो नेटस्केप के लिए वेब के लिए जावा जैसा हो।

हालांकि, Eich ने फैसला किया कि जावा अपने सभी नियमों के साथ बहुत जटिल था और एक सरल भाषा बनाने के लिए सेट किया गया था, जिसमें एक शुरुआती कोड भी हो सकता है। यह ऐसी चीजों में स्पष्ट है जैसे कि अर्धविराम की आवश्यकता के आराम।

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

ब्राउज़र में जावास्क्रिप्ट के जारी होने के लगभग एक या दो साल बाद, Microsoft के IE ने भाषा ली और अपने स्वयं के कार्यान्वयन जैसे कि JScript बनाना शुरू कर दिया। उसी समय, IE बाजार पर हावी हो रहा था और लंबे समय तक नेटस्केप को अपनी परियोजना को बंद नहीं करना पड़ा।

नेटस्केप के नीचे जाने से पहले, उन्होंने एक मानक शुरू करने का फैसला किया, जो कि ECMAScript नामक जावास्क्रिप्ट के मार्ग का मार्गदर्शन करेगा।

ECMAScript की कुछ रिलीज़ हुईं और अगले 10 वर्षों के लिए हाइबरनेशन में जाने से पहले 1999 में उन्होंने अपना अंतिम संस्करण (ECMAScript 3) जारी किया। इस 10 वर्षों के दौरान, Microsoft दृश्यों पर हावी हो गया, लेकिन साथ ही वे अपने उत्पाद में सुधार नहीं कर रहे थे और इसलिए फ़ायरफ़ॉक्स का जन्म हुआ था (ईच के नेतृत्व में) और क्रोम, ओपेरा जैसे अन्य ब्राउज़रों का एक पूरा ढेर।

ECMAScript ने 2009 में अपना 5 वां संस्करण जारी किया (4 वें संस्करण को छोड़ दिया गया) जिसमें सख्त मोड जैसी विशेषताएं थीं। तब से, ECMAScript ने बहुत गति प्राप्त की है और अब से कुछ महीनों में इसके 6 वें संस्करण को जारी करने का कार्यक्रम है, जिसमें अब तक का सबसे बड़ा बदलाव है।

आप यहाँ ECMAScript 6 के लिए सुविधाओं की एक सूची का उपयोग कर सकते हैं http://kangax.github.io/es5-compat-table/es6/ और ब्राउज़र समर्थन भी। तुम भी जैसे तुम CoffeeScript के साथ करते हैं और एक कम्पाइलर का उपयोग करने के लिए एक्मास्क्रिप्ट 5 का संकलन करने के लिए उपयोग कर सकते हैं।

क्या ECMAScript भाषा है और जावास्क्रिप्ट एक बोली है यकीनन, लेकिन महत्वपूर्ण नहीं है। यदि आप इस तरह से सोचते रहते हैं तो यह आपको भ्रमित कर सकता है। वहाँ कोई संकलक नहीं है जो ECMAScript चलाएगा, और मेरा मानना ​​है कि जावास्क्रिप्ट को भाषा माना जाता है जो ECMAScript नामक मानक को लागू करता है।

अन्य ध्यान देने योग्य भाषाएं भी हैं जो ECMAScript जैसे एक्शनस्क्रिप्ट (फ्लैश के लिए प्रयुक्त) को लागू करती हैं


1
कैसे / transpile ECMAScript 5 कोड के लिए नया ES2015 मानक नीचे संकलन करने में रुचि रखने वालों के लिए, आप पर कोलाहल (पूर्व 6to5) उपलब्ध की जाँच करना चाहते हैं babeljs.io पर या Traceur github.com/google/traceur-compiler । इन उपकरणों के उपलब्ध होने के साथ, कोई कारण नहीं है कि आप अभी "नया जावास्क्रिप्ट" लिखना शुरू नहीं कर सकते हैं, और भाषा के सभी नवीनतम परिवर्धन का लाभ उठा सकते हैं।
LWurm

1
मुझे इस बात की जानकारी नहीं थी कि लुआ ईसीएमएस्क्रिप्ट लागू करता है। मुझे लगता है कि कुछ भी नहीं है कि corroborates लग सकता है। आपका स्रोत क्या है?
15

2
@YangLi क्या आप नीचे दिए गए ज़ेरोन के जवाब से सहमत हैं, कि ECMAScript भाषाओं में DOM API शामिल नहीं है जिसका उपयोग हम सभी शुद्ध जावास्क्रिप्ट लिखते समय करते हैं?
TheJollySin

11
@theJollySin हां, वह सही है। ECMAScript को ब्राउज़र के लिए विशेष रूप से डिज़ाइन नहीं किया गया था, इसलिए document.getElementById और अन्य DOM APIs जैसे तरीके मानक का हिस्सा नहीं हैं। वे WHATWG मानकों से संबंधित हैं, साथ ही कुछ अन्य ब्राउज़र विशिष्ट विधि जैसे लोकलस्टोरेज आदि। यदि आप नोड लेते हैं और किसी आयातित मॉड्यूल का उपयोग नहीं करते हैं तो आपके पास केवल ECMAScript एपीआई है।
यांग ली

1
कई भाषाएं एक ही मानक को कैसे लागू कर सकती हैं और एक ही भाषा नहीं हो सकती? मानक भाषा को परिभाषित करता है। यदि कुछ भाषा C ++ मानक को लागू करती है, तो इसे C ++ कहा जाता है, न कि कुछ और (वास्तव में क्योंकि यह उस मानक को लागू करता है)। इसलिए मेरा अभी भी यही सवाल है ... क्या अंतर है?
निमे

157

ECMAScript = ES:

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

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

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

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

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

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

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

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

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

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

ES5 = ECMAScript 5:

  • ES5 ECMAScript (पुराना / वर्तमान एक) का एक संस्करण है।

  • ES5 आज आप जिस ब्राउज़र को जानते हैं और उसका उपयोग करते हैं, वह जावास्क्रिप्ट है।

  • ईएस 5 को आज के ब्राउज़रों में चलने वाली किसी चीज़ में बदलने के लिए एक बिल्ड स्टेप (ट्रांसपिलर) की आवश्यकता नहीं है।

  • ECMAScript संस्करण 5 को दिसंबर 2009 में समाप्त कर दिया गया था, सभी प्रमुख ब्राउज़रों (क्रोम, सफारी, फ़ायरफ़ॉक्स और IE) के नवीनतम संस्करणों ने संस्करण 5 को समाप्त कर दिया है।

  • संस्करण 5.1 जून, 2011 में समाप्त हो गया था।

ES6 = ECMAScript 6 = ES2015 = ECMAScript 2015:

  • ES2015 ECMAScript (नया / भविष्य एक) का एक संस्करण है।

  • आधिकारिक तौर पर ES6 के बजाय ES2015 नाम का उपयोग किया जाना चाहिए।

  • ES6 टाइपस्क्रिप्ट और कॉफीस्क्रिप्ट में संबोधित कई मुख्य भाषा की कमियों से निपटेंगे।

  • ES6 जावास्क्रिप्ट का अगला पुनरावृत्ति है, लेकिन यह आज के ब्राउज़रों में नहीं चलता है।

  • काफी ट्रांसपॉयलर हैं जो ब्राउज़रों में चलने के लिए ES5 निर्यात करेंगे।

BabelJS:

  • बैबेलजेएस सबसे लोकप्रिय ट्रांसपिलर है जो नए जावास्क्रिप्ट ईएस 6 को पुराने जावास्क्रिप्ट ईएस 5 में बदल देता है।

  • BabelJS आज जावास्क्रिप्ट की अगली पीढ़ी (ES2015 का मतलब है) को लिखना संभव बनाता है।

  • BabelJS केवल ES2015 फ़ाइल लेता है और इसे ES5 फ़ाइल में परिवर्तित करता है।

  • वर्तमान ब्राउज़र संस्करण अब नए जावास्क्रिप्ट कोड (ES2015) को समझ सकते हैं, भले ही वे अभी तक इसका समर्थन न करें।

टाइपस्क्रिप्ट और कॉफीस्क्रिप्ट:

  • दोनों ES5 के शीर्ष पर सिंटैक्टिक चीनी प्रदान करते हैं और फिर ES5 अनुरूप जावास्क्रिप्ट में ट्रांसकोड किए जाते हैं। 

  • आप टाइपस्क्रिप्ट या कॉफीस्क्रिप्ट लिखते हैं, फिर ट्रांसपिलर इसे ES5 जावास्क्रिप्ट में बदल देता है।


3
" जावास्क्रिप्ट में अन्य अतिरिक्त विशेषताएं भी हैं जो ECMA विनिर्देशों / मानक में नहीं हैं " क्या आप उन विशेषताओं के लिए कुछ उदाहरण दे सकते हैं?
अरुणा हेराथ

1
" जावास्क्रिप्ट ईसीएमएस्क्रिप्ट मानक का सबसे लोकप्रिय कार्यान्वयन है। " फिर मैं इस कार्यान्वयन के स्रोत को 'जावास्क्रिप्ट' कहां से प्राप्त कर सकता हूं?
बेज़मैन

7
अपने प्रश्न के साथ मैं उत्तर के शब्दों में संभावित गलतता को इंगित करने का प्रयास कर रहा हूं। 'कार्यान्वयन' शब्द का प्रयोग किया जाता है। जावास्क्रिप्ट को 'सबसे लोकप्रिय कार्यान्वयन ' कहा जाता है । एक कार्यान्वयन एक ' तकनीकी विनिर्देश की प्राप्ति ' है। जो सॉफ्टवेयर में अनुवाद करता है । तो फिर मुझे आश्चर्य हुआ कि यह सॉफ्टवेयर 'जावास्क्रिप्ट' कहां है।
बेज़मैन

4
@Corrodias मैं मानता हूँ कि यह नाइट पिकिंग की तरह लगता है, लेकिन मुझे लगता है कि ऐसा करना तब समझ में आता है जब जवाब चीजों को परिभाषित करने के बारे में हो। जावास्क्रिप्ट एक भाषा है, आजकल ईसीएमएस्क्रिप्ट द्वारा मानकीकृत है कि सी कैसे एक भाषा है जो आईएसओ मानकों द्वारा मानकीकृत है। जावास्क्रिप्ट के लिए एक शब्द तो बस 'भाषा' होगा, इससे ज्यादा कुछ नहीं।
बेज़मैन

4
ES5, ES2015 और BabelJS का सारांश वास्तव में बहुत सारे भ्रमों को हवा देता है जब सर्वर की प्रोग्रामिंग से आज के जेएस स्क्रिप्टिंग दुनिया में उतरते हैं। बहुत बढ़िया जवाब। +1
RBT

45

जावास्क्रिप्ट = ECMAScript + DOM + BOM ;

  • ECMAScript® भाषा की विशिष्टता वस्तुओं, सरणियों, संख्याओं आदि को बनाने और संपादित करने के लिए सभी तर्क को परिभाषित करती है ...

  • DOM ( D ocument O bject M odel) HTML / XML दस्तावेज़ों (जैसे document.getElementById('id');) से संवाद करना संभव बनाता है ।

  • BOM ( B rowser O bject M odel) ब्राउज़र ऑब्जेक्ट्स (जैसे स्थान ऑब्जेक्ट, इतिहास ऑब्जेक्ट, फॉर्म एलिमेंट्स) का पदानुक्रम है।

जावास्क्रिप्ट नामकरण का इतिहास:

मोचा oc लाइवस्क्रिप्ट ► जावास्क्रिप्ट ha (जेएस का हिस्सा) परिणामस्वरूप ECMA-262 M ECMAScript AS जावास्क्रिप्ट (ECMAScript + DOM + BOM के होते हैं)


7
तो नोड.जेएस में क्या जावास्क्रिप्ट नहीं है? क्योंकि इसमें DOM API नहीं है।
अरुणा हेराथ

4
यह सही है। "Node.js V8 के आधुनिक संस्करणों के खिलाफ बनाया गया है।" और "वी 8 औजार ECMAScript ECMA-262, 5 वीं संस्करण में विनिर्दिष्ट ..." और "डोम नहीं है, तथापि, आम तौर पर JavaScript इंजन द्वारा लेकिन बजाय एक ब्राउज़र द्वारा प्रदान किया जाता है। ऐसा ही होता है की वी 8-गूगल क्रोम प्रदान करता है डोम। " (स्रोत: nodejs.org/en/docs/es6 और github.com/v8/v8/wiki/Introduction )
jerone

7
जब मैं जावास्क्रिप्ट कोड लिखता हूं तो @jerone ECMAScript के किस संस्करण का उपयोग कर रहा हूं? क्या यह ब्राउज़र या लाइब्रेरी द्वारा अलग-अलग है?
TheJollySin

4
क्या आप इसका संदर्भ दे सकते हैं JavaScript = ECMAScript + DOM API;?
कोरे तुगय

2
@ koray-tugay यहां छोड़कर, जावास्क्रिप्ट वास्तव में क्या है, इसके बारे में बहुत अधिक दस्तावेज नहीं हैं। मुझे लगता है कि यह सवाल इतना लोकप्रिय क्यों है। "सूत्र" JavaScript = ECMAScript + DOM API;केवल उन दस्तावेज़ों पर समग्र रूप से सहमत होता है जो जावास्क्रिप्ट में होते हैं।
१one को १६:१६ को जेरोन

42

तकनीकी रूप से ECMAScript वह भाषा है जिसे हर कोई उपयोग कर रहा है और कार्यान्वित कर रहा है - यह कई साल पहले बनाया गया विनिर्देश है जब नेटस्केप और Microsoft बैठ गए और जावास्क्रिप्ट (नेटस्केप की स्क्रिप्टिंग भाषा) और JScript (Microsoft) के बीच स्क्रिप्टिंग को मानकीकृत करने का प्रयास किया।

इसके बाद इन सभी इंजनों को तीव्रता से ECMAScript लागू किया जाता है, हालांकि जावास्क्रिप्ट (नाम) अब दोनों पारंपरिक नामकरण कारणों के लिए घूमता है, और मोज़िला द्वारा अपने विभिन्न गैर-मानक एक्सटेंशन (जो वे वास्तव में "संस्करण में सक्षम होना चाहते हैं" के लिए विपणन शब्द के रूप में हैं) )


12
नेटस्केप और माइक्रोसॉफ्ट वास्तव में एक बार साथ हो गए ?!
कोल जॉनसन

2
मुझे लगा कि ब्रैंडन जेएस को माइक्रोसॉफ्ट से पहले एक मानक बनाना चाहते हैं, और केवल वही मिल सकता है जो ईसीएमए था।
जो सिमंस

30

ECMAScript यानी ES क्या है?

ECMAScript एक स्क्रिप्टिंग भाषा के लिए एक मानक है और जावास्क्रिप्ट भाषा ECMAScript मानक पर आधारित है।

क्या जावास्क्रिप्ट ईसीएमएस्क्रिप्ट के समान है?

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

जावास्क्रिप्ट = ECMAScript + DOM API;

DOM API जैसे: document.getElementById('id');

क्या अन्य भाषाएं ECMAScript मानक का उपयोग करती हैं?

  • हां, जावास्क्रिप्ट के अलावा अन्य भाषाएँ भी हैं जो ECMAScript स्टैंडर्ड को अपने मूल के रूप में लागू करती हैं।
  • ActionScript (Adobe Flash द्वारा उपयोग किया गया) और JScript (Microsoft द्वारा उपयोग किया गया) दोनों ऐसी भाषाएँ हैं जो ECMAScript मानक को लागू करती हैं।

इसे ECMAScript क्यों कहा जाता है?

  • जावास्क्रिप्ट मूल रूप से नेटस्केप में बनाया गया था, और वे भाषा को मानकीकृत करना चाहते थे। तो, वे करने के लिए भाषा प्रस्तुत uropean सी omputer एम anufacturer के एक मानकीकरण के लिए ssociation (ECMA)।
  • लेकिन, जावास्क्रिप्ट नाम के साथ ट्रेडमार्क मुद्दे थे, और मानक को ECMAScript कहा जाता था, यह वह नाम है जो आज भी है।
  • ट्रेडमार्क मुद्दों के कारण, Microsoft के भाषा के संस्करण को JScript कहा जाता है - भले ही JScript अपने मूल में है, जावास्क्रिप्ट के रूप में समान भाषा।

सादे जेएस और ईएस 6 जेएस पर पाठ्यक्रम हैं। हमें कौन सा लेना चाहिए? क्या ES6 पेशेवर सेटिंग्स में अधिक उपयोग किया जाता है? धन्यवाद।
मास्टरजियो

16

विभिन्न जावास्क्रिप्ट संस्करण ECMAScript मानक के कार्यान्वयन हैं।


11

मुझे पता है कि यह एक पुरानी पोस्ट है लेकिन उम्मीद है कि इससे किसी को मदद मिलेगी।

1990 में js के अलग-अलग संस्करण शुरू हुए जैसे कि नेटस्केप से जावास्क्रिप्ट, माइक्रोसॉफ्ट से जेएस स्क्रिप्ट। अतः एक मानक के रूप में पारिस्थितिकी को पेश किया गया था। लेकिन इस्मास्क्रिप्ट केवल जावास्क्रिप्ट का एक हिस्सा है, जो इसके मूल सिंटैक्स, प्रकार, वस्तुओं आदि को निर्दिष्ट करता है। संभवतः, जो जावास्क्रिप्ट के असंगत कार्यान्वयन को अलग-अलग तरीके से समझाता है। ब्राउज़रों

संदर्भ - Wrox (वेब ​​डेवलपर्स के लिए व्यावसायिक जावास्क्रिप्ट)


10

मेरी समझ में, ECMAScript "थ्योरी" या "विशिष्टता" है, और जावास्क्रिप्ट "प्रैक्टिकल" या "कार्यान्वयन" है।


10

जावास्क्रिप्ट एक ECMAScript भाषा है।

ECMAScript जरूरी जावास्क्रिप्ट नहीं है


7

मौजूदा जवाब मुख्य बिंदु को काफी अच्छी तरह से व्याख्या करते हैं।

मुख्य बिंदु यह है कि ECMAScript किसी भी डोमेन विशिष्ट एक्सटेंशन के बिना नंगी सार भाषा है, यह अपने आप में बेकार है। विनिर्देश केवल भाषा को परिभाषित करता है और कोर इसके बारे में वस्तुओं।

जबकि जावास्क्रिप्ट और एक्शनस्क्रिप्ट और अन्य बोलियाँ इसमें डोमेन विशिष्ट पुस्तकालय जोड़ते हैं, इसलिए आप इसे कुछ सार्थक के लिए उपयोग कर सकते हैं।

कई ECMAScript इंजन हैं , उनमें से कुछ खुले स्रोत हैं, अन्य मालिकाना हैं। आप उन्हें अपने प्रोग्राम में लिंक कर सकते हैं फिर अपने मूल कार्यों को वैश्विक ऑब्जेक्ट में जोड़ सकते हैं ताकि आपका प्रोग्राम स्क्रिप्ट योग्य हो जाए। हालांकि सबसे अधिक बार वे ब्राउज़रों में उपयोग किए जाते हैं।


5

जावास्क्रिप्ट मूल नाम था, जिसका अर्थ जावा की लोकप्रियता को भुनाना था। ईसीएमए एक मानक निकाय है जो उस मानक की देखरेख करता है जिसे अंततः लगाया गया था ताकि नाम लगभग बराबर हो।

कार्यान्वयन के अन्य नाम हैं, जैसे V8 या राइनो, आदि।


3

ECMAScript JavaScrip t के लिए एक मानक है, MDN के इन कथनों को देखें :

यहाँ छवि विवरण दर्ज करें

जावास्क्रिप्ट

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


ECMAScript

जावास्क्रिप्ट के लिए मानक ECMAScript है । 2012 तक, सभी आधुनिक ब्राउज़र पूरी तरह से ECMAScript 5.1 का समर्थन करते हैं। पुराने ब्राउज़र कम से कम ECMAScript 3 का समर्थन करते हैं। 17 जून 2015 को, ECMA इंटरनेशनल ने ECMAScript का छठा प्रमुख संस्करण प्रकाशित किया, जिसे आधिकारिक तौर पर ECMAScript 2015 कहा जाता है, और शुरू में इसे ECMAScript 6 या ES6 के रूप में संदर्भित किया गया था। तब से, ECMAScript मानक वार्षिक रूप से रिलीज़ साइकिल पर हैं। यह दस्तावेज़ नवीनतम ड्राफ्ट संस्करण को संदर्भित करता है, जो वर्तमान में ECMAScript 2018 है।

अधिक जानकारी के लिए, यहां जाएं


3

यहाँ मेरे निष्कर्ष हैं:

जावास्क्रिप्ट: डेविड फ्लानगन द्वारा लिखित निश्चित गाइड , बहुत संक्षिप्त विवरण प्रदान करता है:

जावास्क्रिप्ट को वेब के शुरुआती दिनों में नेटस्केप में बनाया गया था, और तकनीकी रूप से, "जावास्क्रिप्ट" सन माइक्रोसिस्टम्स (अब ओरेकल) से लाइसेंस प्राप्त ट्रेडमार्क है जिसका उपयोग नेटस्केप के (अब मोज़िला के) भाषा के कार्यान्वयन का वर्णन करने के लिए किया जाता है। नेटस्केप ने मानकीकरण के लिए भाषा को ईसीएमए के लिए प्रस्तुत किया और ट्रेडमार्क मुद्दों के कारण, भाषा का मानकीकृत संस्करण अजीब नाम "ईसीएमएस्क्रिप्ट" के साथ अटक गया था। उन्हीं ट्रेडमार्क कारणों से, भाषा के Microsoft संस्करण को औपचारिक रूप से "JScript" के रूप में जाना जाता है। व्यवहार में, बस हर कोई भाषा को जावास्क्रिप्ट कहता है।

Microsoft का एक ब्लॉग पोस्ट इस बात से सहमत प्रतीत होता है कि फ्लानगन क्या कहता है ..

ECMAScript जावास्क्रिप्ट भाषा का आधिकारिक नाम है जिसे हम सभी जानते हैं और प्यार करते हैं।

.. जो मुझे लगता है की सभी घटनाओं में आता है JavaScriptमें इस (फिर से माइक्रोसॉफ्ट द्वारा) संदर्भ डाक से बदला जाना चाहिए ECMASCript। वे वास्तव ECMAScriptमें केवल इस का उपयोग करते हुए सावधान रहना चाहते हैं , अधिक हाल ही में और अधिक तकनीकी प्रलेखन पृष्ठ।

w3schools.com उपरोक्त परिभाषाओं से सहमत प्रतीत होता है:

जावास्क्रिप्ट का आविष्कार ब्रेंडन ईच ने 1995 में किया था, और 1997 में ECMA मानक बन गया। ECMA-262 मानक का आधिकारिक नाम है। ECMAScript भाषा का आधिकारिक नाम है।

यहाँ कुंजी है: भाषा का आधिकारिक नाम

यदि आप मोज़िला के जावास्क्रिप्ट संस्करण पृष्ठों की जांच करते हैं , तो आप निम्न कथन का सामना करेंगे:

पदावनत। भाषा सुविधाओं का स्पष्ट संस्करण और ऑप्ट-इन मोज़िला-विशिष्ट था और निकाले जाने की प्रक्रिया में है। फ़ायरफ़ॉक्स 4 अंतिम संस्करण था, जिसे जावास्क्रिप्ट संस्करण (1.8.5) के रूप में संदर्भित किया गया था। नए ECMA मानकों के साथ, जावास्क्रिप्ट भाषा सुविधाओं को अब ECMA-262 संस्करणों जैसे ECMAScript 2015 में अपनी प्रारंभिक परिभाषा के साथ अक्सर उल्लेख किया जाता है।

और जब आप हालिया रिलीज़ नोट देखेंगे, तो आप हमेशा ECMAScript मानकों का संदर्भ देखेंगे, जैसे:

  • ES2015 Symbol.toStringTag संपत्ति को लागू किया गया है (बग 1114580)।

  • ES2015 TypedArray.prototype.toString () और TypedArray.prototype.toLocaleString () विधियों को लागू किया गया है (बग 1121938)।

मोज़िला वेब डॉक्स में एक पेज भी होता है जो ECMAScript और JavaScript के बीच अंतर बताता है:

हालांकि, एक वेब ब्राउज़र के संदर्भ में समझा जाने वाला छाता शब्द "जावास्क्रिप्ट" में कई अलग-अलग तत्व हैं। उनमें से एक कोर भाषा (ईसीएमएस्क्रिप्ट) है, दूसरा डोम (दस्तावेज़ ऑब्जेक्ट मॉडल) सहित वेब एपीआई का संग्रह है।

निष्कर्ष

मेरी समझ से, लोग मूल ECMAScript विनिर्देश को संदर्भित करने के लिए जावास्क्रिप्ट शब्द का उपयोग कुछ उदारतापूर्वक करते हैं।

मैं कहूंगा, सभी आधुनिक जावास्क्रिप्ट कार्यान्वयन (या जावास्क्रिप्ट इंजन) वास्तव में ECMAScript कार्यान्वयन हैं। उदाहरण के लिए, Google से V8 इंजन की परिभाषा जांचें :

V8 Google का खुला स्रोत उच्च-प्रदर्शन जावास्क्रिप्ट इंजन है, जो C ++ में लिखा गया है और इसका उपयोग Google Chrome में, Google से खुला स्रोत ब्राउज़र और अन्य लोगों के बीच Node.js में किया जाता है। यह ईसीएमएस्क्रिप्ट को ईसीएमए -262 में निर्दिष्ट के रूप में लागू करता है।

वे जावास्क्रिप्ट शब्द का उपयोग करते हुए प्रतीत होते हैं और ECMAScript विनिमयात्मक रूप से, और मैं कहूंगा कि यह वास्तव में एक ECMAScript इंजन है?

इसलिए अधिकांश जावास्क्रिप्ट इंजन वास्तव में ECMAScript मानक को लागू कर रहे हैं, लेकिन उन्हें ECMAScript इंजन कहने के बजाय, वे खुद को JavaScript इंजन कहते हैं। यह उत्तर भी स्थिति को देखने के तरीके का समर्थन करता है।


2

मुझे संदेह है कि हम कभी भी "ECMAScript" शब्द का उपयोग करेंगे यदि इस तथ्य के लिए नहीं कि "जावास्क्रिप्ट" नाम सूर्य के स्वामित्व में है। सभी इरादों और उद्देश्यों के लिए, भाषा जावास्क्रिप्ट है। आप ECMAScript पुस्तकों की तलाश में बुकस्टोर पर नहीं जाते हैं, क्या आप?

यह कहना थोड़ा सरल है कि "जावास्क्रिप्ट" कार्यान्वयन है। JScript Microsoft का कार्यान्वयन है।


1
मुझे ECMAscript शब्द से कोई समस्या नहीं है ... क्या आपने कभी सोचा है कि वीडियो के बजाय MPEG कहना अजीब है?
रात ०

7
Haha। क्या यह ब्रेंडन ईच ने नहीं कहा था कि ECMAScript त्वचा रोग की तरह लगता है? :-)
नोसरेडना

7
सूर्य जावा शब्द का मालिक है, जावास्क्रिप्ट नहीं।
जेम्स आर। क्लेटन

1
@ JamesR.Clayton जावास्क्रिप्ट को वेब के शुरुआती दिनों में नेटस्केप में बनाया गया था, और तकनीकी रूप से, "जावास्क्रिप्ट" सन माइक्रोसिस्टम्स (अब ओरेकल) से लाइसेंस प्राप्त एक ट्रेडमार्क है जिसका उपयोग नेटस्केप के (अब मोज़िला के) भाषा के कार्यान्वयन का वर्णन करने के लिए किया जाता है।
कोरे तुगे

1

जावास्क्रिप्ट ECMAScript मानक के आसपास बनने वाली भाषाओं की एक शाखा है। मेरा मानना ​​है कि ECMA यूरोपीय कंप्यूटर निर्माता संघ है, न कि यह वास्तव में प्रासंगिक है या कुछ भी है।

ECMA स्क्रिप्ट मानक के आसपास बनाई गई एक और लोकप्रिय भाषा मत भूलना एक्शनस्क्रिप्ट है, जिसका उपयोग एडोब फ्लैश / फ्लेक्स में किया जाता है।

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