Страницы

Поиск по вопросам

среда, 20 февраля 2019 г.

Какая спецификация ECMAScript актуальна на данный момент?

В тесте попался такой вопрос. Ответил 5.1 - исходил из того, что все браузеры её используют с фичами 6.1. Насколько мне известно, чтобы писать на 6.1 нужно использовать всякие бэйбелы и им подобные. Так и не понял, правильно ли я ответил или нет. Кто-нибудь может подсказать, какая же версия всё-таки актуальна на данный момент? Или этот вопрос изначально некорректен - обе версии актуальны?


Ответ

Текущая законченная спецификация
ECMA-262 7ᵗʰ Edition / June 2016 ECMAScript® 2016 Language Specification
Черновик спецификации можно увидеть на гитхабе: https://tc39.github.io/ecma262/

Отсюда следует вопрос: что считать актуальной версией?
Ответов на этот вопрос может быть несколько:
Версия спецификации, обсуждение по которой завершено Самая последняя доступная версия Наиболее поддерживаемая браузерами
Если судить по поддерживаемости браузерами, то даже шестая версия стандарта полностью не поддерживается нигде. В основном за счет части посвященной модулям и оптимизации хвостовой рекурсии.
С другой стороны, если проверить поддерживаемость, то
ES6 поддерживается основными браузерами на уровне 95%+ реализации. ES 2016 здесь немного хуже ситуация, реализация на уровне 70%
Трудность разделения заключается так же в том, что браузеры не обязаны реализовать полностью одну версию стандарта, чтобы приступить к реализации следующей. Из-за этого получается, что все версии спецификаций могут быть реализованы не полностью и код работающий в одном браузере может не работать в другом.
Исходя из этого можно предположить, что актуальная версия - 5, либо шестая версия спецификации, как наиболее поддерживаемая на данный момент (март 2017).

Комментариев нет:

Отправить комментарий