• Чем отличаются Javascript и ECMAscript?

    xanep
    @xanep
    Что было сначала — курица или яйцо? :)
    Чтоб понимать как соотносятся Javascript и ECMAscript, нужно окунуться немного в историю. Javascript был создан как скриптовый язык для Netscape. Майкрософт создал свой скриптовый язык для IE, который назывался JScript. Естественно использовать 2 языка для разных браузеров было не кошерно и Netscape инициировало стандартизацию, в результате чего родился стандарт языка ECMAscript. ECMAscript не привязан к браузерам, сам по себе не имеет средств ввода/вывода. Последующие версии языков Javascript и JScript были приведены в соответствие стандарту ECMAscript. На основе этого стандарта также был создан ActionScript.
    В итоге сегодня Javascript состоит из 3-х практически отдельных частей
    — Ядро (полностью соответствует стандарту ECMAscript),
    — Document Object model (DOM)
    — Browser Object Model (BOM)
    DOM — это API для достука к HTML. Его спецификацию вы можете найти на сайте W3C. BOM в каждом браузере реализован по своему. Соответственно вы найдете спецификацию Javascript от Mozilla (как наследницы Netscape) на их сайте. Отдельно можете почитать спецификации ECMAscript и DOM.
    В итоге получается, что изначально стандарт ECMAscript был основан на Javascript, а потом Javascript основан на ECMAscript. Вот так запутанно :)
    Ну а приставка Java — это маркетинговый ход. Java была очень на слуху в 90-х, поэтому и выбрали такое название. Точнее даже переименовали язык из LiveScript в Javascript.
    Ответ написан
  • Чем отличаются Javascript и ECMAscript?

    @b0n3Z
    Javascript — имплементация стандарта ECMAscript компанией Mozilla. Можно сказать, что это надмножество ECMAscript, потому что в нем есть такие штуки, как списковые выражения, короткие лямбда-функции, генераторы (yield), генераторные выражения, let — ключевое слово для создания более продвинутых локальных переменных (например, только в пределах цикла for), разрушающие присваивания ([a, b] = [b, a]).
    Из популярных браузеров только Firefox поддерживает Javascript в полной мере, так что использовать все эти крутые возможности не стоит. Однако, как правило, все, что появляется у мозиллы вскоре появляется в официальном стандарте, то есть в ECMAscript — так было с JS1.6, откуда в стандарт перешли списковые методы map, filter, forEach, indexOf.
    А JScript — имплементация стандарта ECMAscript корпорацией Microsoft.
    Ответ написан