Відповіді:
ECMAScript є мовою, тоді як JavaScript, JScript і навіть ActionScript 3 називають "діалектами". Вікіпедія проливає на це трохи світла.
Я думаю, що ще невеликий урок історії.
JavaScript спочатку називався Mocha і був змінений на Livescript, але зрештою став JavaScript.
Важливо зауважити, що JavaScript був перед ECMAскриптом, і історія розповість вам, чому.
Щоб почати спочатку, JavaScript отримав свою назву від Java і спочатку Брендан Ейх (творець JS) попросив розробити мову, що нагадує Java для Інтернету для Netscape.
Однак Ейх вирішила, що Java занадто складна з усіма її правилами, і надумала створити більш просту мову, яку міг би кодувати навіть початківець. Це очевидно в таких речах, як розслаблення необхідності мати крапку з комою.
Після того, як мова була повністю, маркетингова команда Netscape попросила Sun дозволити їм назвати JavaScript як маркетинговий трюк, і тому більшість людей, які ніколи не використовували JavaScript, вважають, що це пов'язано з Java.
Приблизно через рік-два після виходу JavaScript у браузері IE Майкрософт взяв мову і почав робити власні реалізації, такі як JScript. У той же час IE домінував на ринку і незабаром після того, як Netscape довелося закрити свій проект.
Перед тим, як Netscape знизився, вони вирішили запустити стандарт, який керуватиме шлях JavaScript, іменований ECMAScript.
У ECMAScript було декілька випусків, і в 1999 році вони випустили останню версію (ECMAScript 3), перш ніж вони перейшли у сплячку протягом наступних 10 років. Протягом цих 10 років Microsoft домінувала над сценами, але в той же час вони не вдосконалювали свій продукт, отже, народився Firefox (під керівництвом Eich) та цілу купу інших браузерів, таких як Chrome, Opera.
ECMAScript випустив своє 5-е видання у 2009 році (4-е видання було залишене) з такими функціями, як жорсткий режим. З тих пір ECMAScript набрав велику силу і планується випустити своє 6-е видання за кілька місяців, з найбільшими змінами, які відбулися до цього часу.
Ви можете використовувати список функцій для ECMAScript 6 тут http://kangax.github.io/es5-compat-table/es6/, а також підтримку браузера. Ви навіть можете почати писати Ecmascript 6, як це робиться з CoffeeScript, і використовувати компілятор для компіляції до Ecmascript 5.
Чи мовою ECMAScript є мова, а JavaScript - діалект, можна сперечатися, але це не важливо. Якщо ви продовжите думати так, це може вас збентежити. Там немає компілятора, який би запускав ECMAScript, і я вважаю, що JavaScript вважається мовою, яка реалізує стандарт, який називається ECMAScript.
Існують також інші помітні мови, які реалізують ECMAScript, такі як ActionScript (використовується для Flash)
ECMAScript = ES:
ECMAScript - це стандарт для мов сценаріїв.
Такі мови, як Javascript, базуються на стандарті ECMAScript.
Стандарт ECMA заснований на кількох оригінальних технологіях, найбільш відомими є JavaScript (Netscape) та JScript (Microsoft).
ECMA означає Асоціацію європейських виробників комп'ютерів
JavaScript = JS:
JavaScript - найпопулярніша реалізація стандарту ECMAScript.
Основні особливості Javascript засновані на стандарті ECMAScript, але Javascript також має інші додаткові функції, які не входять до специфікацій / стандарту ECMA.
ActionScript і JScript - інші мови, які реалізують ECMAScript.
JavaScript був поданий до ECMA для стандартизації, але через проблеми з товарними знаками з назвою Javascript стандарт став називатися ECMAScript.
У кожному браузері є інтерпретатор JavaScript.
ES5 = ECMAScript 5:
ES5 - це версія ECMAScript (стара / поточна).
ES5 - це JavaScript, який ви знаєте та використовуєте в браузері сьогодні.
ES5 не вимагає кроку збирання (транспіляторів), щоб перетворити його на те, що працюватиме в сучасних браузерах.
Версія 5 ECMAScript була завершена у грудні 2009 року, останні версії всіх основних браузерів (Chrome, Safari, Firefox та IE) впровадили версію 5.
Версія 5.1 була завершена в червні 2011 року.
ES6 = ECMAScript 6 = ES2015 = ECMAScript 2015:
ES2015 - це версія ECMAScript (нова / майбутня).
Офіційно назву ES2015 слід використовувати замість ES6.
ES6 вирішить багато недоліків основної мови, вирішених у TypeScript та CoffeeScript.
ES6 - це наступна ітерація JavaScript, але вона не працює в сучасних браузерах.
Існує досить багато транспіляторів, які експортуватимуть ES5 для роботи в браузерах.
BabelJS:
BabelJS - найпопулярніший транспілятор, який перетворює новий JavaScript ES6 в Old JavaScript ES5.
BabelJS дозволяє сьогодні написати нове покоління JavaScript (означає ES2015).
BabelJS просто бере файл ES2015 і перетворює його у файл ES5.
Поточні версії браузерів тепер можуть зрозуміти новий код JavaScript (ES2015), навіть якщо вони ще не підтримують його.
TypeScript і CoffeeScript:
Обидва надають синтаксичний цукор поверх ES5, а потім перекомпілюються в JavaScript, сумісний з ES5.
Ви пишете TypeScript або CoffeeScript, тоді транспілер перетворює його в ES5 JavaScript.
JavaScript = ECMAScript + DOM + BOM ;
Специфікація мови ECMAScript® визначає всю логіку створення та редагування об'єктів, масивів, чисел тощо ...
DOM ( D ocument O bject M odel) дає можливість спілкуватися з HTML / XML документами (наприклад document.getElementById('id');
).
ВВП ( Б rowser висновок ▪ Таблиця М Odel) є ієрархією об'єктів браузера (наприклад , об'єкт розташування, історії об'єкта, утворюють елементи).
Історія іменування JavaScript:
Mocha ► LiveScript ► JavaScript ► (частина JS призвела до) ECMA-262 ► ECMAScript ► JavaScript (складається з ECMAScript + DOM + BOM)
JavaScript = ECMAScript + DOM API;
?
JavaScript = ECMAScript + DOM API;
якраз базується на загальній узгодженій задокументованою умовою, з якої складається JavaScript.
Технічно ECMAScript - це мова, якою всі користуються та реалізують - це специфікація, створена багато років тому, коли Netscape та Microsoft сіли та намагалися стандартизувати сценарії між JavaScript (сценарій мови Netscape) та JScript (Microsoft).
Згодом усі ці двигуни нібито впроваджують ECMAScript, проте JavaScript (назва) тепер зависає як з традиційних причин іменування, так і як маркетинговий термін від Mozilla за їх різні нестандартні розширення (які вони хочуть мати можливість фактично "версії") )
Що таке ECMAScript, тобто ES?
ECMAScript - стандарт для мови сценаріїв, а мова Javascript - на основі стандарту ECMAScript.
Чи Javascript точно такий же, як ECMAScript?
JavaScript = ECMAScript + DOM API;
API DOM, як: document.getElementById('id');
Чи використовують інші мови стандарт ECMAScript?
Чому його називають ECMAScript?
Я знаю, що це старий пост, але, сподіваюся, це допоможе комусь.
У 1990-х рр. Почали виходити різні версії js, як JavaScript від netscape, Js script від Microsoft. Тож ecmascript було введено як стандарт. Але ecmascript утворює лише частину javascript, яка вказує її основний синтаксис, типи, об'єкти тощо. Можливо, це пояснює непослідовні реалізації javascript через diff. браузери
Довідка - Wrox (Професійний Javascript для веб-розробників)
JavaScript - мова ECMAScript.
ECMAScript не обов'язково JavaScript.
Існуючі відповіді досить добре перефразовують основний пункт.
Основний момент полягає в тому, що ECMAScript - це гостра абстрактна мова, без будь-яких розширень для домену, сама по собі марна. Специфікація визначає тільки мову і ядро об'єкти цього.
У той час як JavaScript і ActionScript та інші діалекти додають до нього бібліотеку, специфічну для домену, тому ви можете використовувати її для чогось значущого.
Є багато двигунів ECMAScript , деякі з них є відкритим кодом, інші є власником. Ви можете пов’язати їх зі своєю програмою, а потім додати свої власні функції до глобального об'єкта, щоб програма стала писати сценарій. Хоча найчастіше вони використовуються в браузерах.
Javascript - оригінальна назва, призначена для використання популярності java. ECMA - це орган зі стандартів, який здійснює нагляд за стандартом, який був врешті-решт встановлений, тому назви приблизно еквівалентні.
У реалізації є інші назви, наприклад V8 чи Rhino тощо.
ECMAScript є стандартом для JavaScrip t, подивіться на ці твердження з MDN :
JavaScript (JS) - це легка інтерпретована або JIT-складена мова програмування з функціями першого класу. Хоча він є найбільш відомим як сценарій мови для веб-сторінок, багато середовищ, які не є браузером, також використовують його, такі як node.js, Apache CouchDB та Adobe Acrobat. JavaScript - заснована на прототипі, багатопарадигма, динамічна мова, що підтримує об'єктно-орієнтований, імперативний та декларативний (наприклад, функціональне програмування) стилі. Детальніше про JavaScript.
Стандарт для JavaScript - ECMAScript . Станом на 2012 рік усі сучасні браузери повністю підтримують ECMAScript 5.1. Старіші браузери підтримують принаймні ECMAScript 3. 17 червня 2015 року ECMA International опублікувала шосту основну версію ECMAScript, яка офіційно називається ECMAScript 2015, і спочатку її називали ECMAScript 6 або ES6. Відтоді стандарти ECMAScript працюють на щорічних циклах випуску. Ця документація стосується останньої версії проекту, яка наразі є ECMAScript 2018.
Для отримання додаткової інформації відвідайте тут
Ось мої висновки:
JavaScript: Посібник , що визначається, написаний Девідом Фланаганом, дає дуже стисле пояснення:
JavaScript був створений в Netscape в перші дні Інтернету, і технічно "JavaScript" - торгова марка, ліцензована Sun Microsystems (тепер Oracle), що використовується для опису реалізації мови Netscape (тепер Mozilla). Netscape подав мову для стандартизації до ECMA, і через проблеми з товарними знаками, стандартизована версія мови була закріплена незграбною назвою "ECMAScript". З тих же причин торговельної марки версія мови Microsoft офіційно відома як "JScript". На практиці майже всі називають мову JavaScript.
Повідомлення в блозі від Microsoft, схоже, погоджується з тим, що Фланаган пояснює, кажучи ..
ECMAScript - офіційна назва мови JavaScript, яку ми всі знаємо і любимо.
.. що змушує мене думати, що всі події JavaScript
в цьому довідковому пості (знову Microsoft) повинні бути замінені на ECMASCript
. Насправді вони здаються обережними з використанням ECMAScript
лише на цій , більш новій і більш технічній сторінці документації.
w3schools.com, схоже, згоден з вищезазначеними визначеннями:
JavaScript був винайдений Бренданом Ейхом у 1995 році, а став стандартом ECMA в 1997 році. ECMA-262 - офіційна назва стандарту. ECMAScript - офіційна назва мови.
Тут головне: офіційна назва мови .
Якщо ви переглянете сторінки Mozilla на версії JavaScript , ви побачите таке твердження:
Застарілий. Явні версії та ввімкнення мовних особливостей було специфічним для Mozilla і вони зараз видаляються. Firefox 4 була останньою версією, яка згадувала версію JavaScript (1.8.5). З новими стандартами ECMA, особливості мови JavaScript часто згадуються з їх початковим визначенням у виданнях ECMA-262, таких як ECMAScript 2015.
і коли ви побачите нотатки до останнього випуску, ви завжди побачите посилання на стандарти ECMAScript, такі як:
Влаштовано властивість ES2015 Symbol.toStringTag (помилка 1114580).
Реалізовано методи ES2015 TypedArray.prototype.toString () та TypedArray.prototype.toLocaleString () (помилка 1121938).
У веб-документах Mozilla також є сторінка, яка пояснює різницю між ECMAScript і JavaScript:
Однак, парасольовий термін "JavaScript", як його розуміють у контексті веб-браузера, містить декілька дуже різних елементів. Один з них - основна мова (ECMAScript), інший - колекція веб-API, включаючи DOM (Document Object Model).
Висновок
Наскільки я розумію, люди використовують слово JavaScript дещо вільно для позначення основної специфікації ECMAScript.
Я б сказав, всі сучасні реалізації JavaScript (або JavaScript Двигуни) насправді є реалізаціями ECMAScript. Наприклад, ознайомтеся з визначенням двигуна V8 від Google:
V8 - це високоефективний двигун JavaScript з відкритим кодом, написаний на C ++ і використовується в Google Chrome, браузері з відкритим кодом від Google та Node.js. Він реалізує ECMAScript, як зазначено в ECMA-262.
Вони, схоже, використовують слово JavaScript і ECMAScript взаємозамінно, і я б сказав, що це насправді двигун ECMAScript?
Тому більшість двигунів JavaScript реально реалізує стандарт ECMAScript, але замість того, щоб називати їх двигунами ECMAScript, вони називають себе Двигунами JavaScript. Ця відповідь також підтримує те, як я бачу ситуацію.
Я сумніваюся, що ми коли-небудь використовувати слово "ECMAScript", якби не той факт, що ім'я "JavaScript" належить Sun. Для всіх намірів і цілей мовою є JavaScript. Ви не ходите до книгарні, шукаючи книги ECMAScript, чи не так?
Трохи занадто просто сказати, що "JavaScript" - це реалізація. JScript - це реалізація Microsoft.
JavaScript - це одна галузь мов, сформована навколо стандарту ECMAScript. Я вважаю, що ECMA - Європейська асоціація виробників комп’ютерів, не те, що це насправді актуально чи щось.
Не забувайте, що ще одна популярна мова, сформована навколо стандарту сценарію ECMA, - це ActionScript, що використовується в Adobe Flash / Flex.