Комментарии 33
Наконец то!
Осталось дождаться когда появятся браузеры полностью реализующие новый стандарт. Когда это произойдёт перед web-разработчиками наверное встанет новая задача: браузерам поддерживающим es2015 отдавать es2015 исходники, а другим версию скомпилированную в es5. Так как наверняка es2015 версия будет эффективнее чем скомпилированная.
Осталось дождаться когда появятся браузеры полностью реализующие новый стандарт. Когда это произойдёт перед web-разработчиками наверное встанет новая задача: браузерам поддерживающим es2015 отдавать es2015 исходники, а другим версию скомпилированную в es5. Так как наверняка es2015 версия будет эффективнее чем скомпилированная.
+1
уже есть инструменты, которые траслитерируют на лету только несовместимое
+2
Вы не могли бы подсказать как они называются? Что-то не могу найти…
0
Судя по писанию этот инструмент просто может загружать es2015 модули вызывая traceur или babel для них. traceur или babel способны при компиляции оставлять те es2015 конструкции которые уже поддерживаются?
0
У бабеля есть опция blacklist. Занесите туда те трансформеры, что вам не нужны (нативно поддерживаются). Список трансформеров: babeljs.io/docs/advanced/transformers
0
https://featuretests.io/
0
В соседней новости TedBeer указал ссылку на книгу одного из разработчиков, думаю, будет полезным и тут упомянуть:
Вчера присутствовал на презентации ES6 с докладчиком Dr. Axel Rauschmayer(его блог) Он плотно учавствовал в разработке ES6. Ему задали вопрос насчет поддержки в браузерах и он сказал, что по плану все основные браузеры будут полностью поддерживать стандарт уже до конца этого года.
На днях он закончил книжку по ES6 и она доступна бесплатно в онлайн — Exploring ES6
+3
На самом деле это далеко не первая книга.
0
Куда интереснее вот это www.w3.org/community/webassembly
«WebAssembly, that defines a portable, size- and load-time-efficient format and execution model specifically designed to serve as a compilation target for the Web».
Если я правильно понимаю, то скоро можно будет писать под Веб на любом языке поддерживающем эту технологию.
«WebAssembly, that defines a portable, size- and load-time-efficient format and execution model specifically designed to serve as a compilation target for the Web».
Если я правильно понимаю, то скоро можно будет писать под Веб на любом языке поддерживающем эту технологию.
+1
github.com/WebAssembly/design/blob/master/FAQ.md
github.com/WebAssembly/design/blob/master/HighLevelGoals.md
Это asm.js, который правильно сделан, а не революция.
github.com/WebAssembly/design/blob/master/HighLevelGoals.md
Это asm.js, который правильно сделан, а не революция.
0
Надеюсь для любителей IE кто-то возьмется за быстрые и вменяемые полифилы. Иначе все так и останется роскошью, а не средством передвижения.
-2
Вас что-то не устраивает в существующих? :)
+2
Раз они сделали TCO, они выкинули идиотский метод arguments?
-2
Они не ломали обратную совместимость.
0
Свойства
arguments
и функций, мешающие TCO, отключены в строгом режиме ещё в ECMAScript 5. TCO работает только в строгом режиме, а он в синтаксисе модулей включен по умолчанию. Ну а по поводу arguments
— хоть он и присутствует, вместо него рекомендуется использовать rest.0
О как, очень интересно выслушать точку зрения минусующего :)
0
Я знаю зачем вас минусуют, но в доках написано, что если функция использует rest параметры в заголовке, то arguments внутри не будет.
0
Не совсем верно, по спецификации наличие rest на наличие
Дело в оптимизации кода. Объект
arguments
никак не влияет, пример, поведение FF здесь ошибочно, хотя, само собой, реализация не будет создавать arguments
, если он не используется :)Дело в оптимизации кода. Объект
arguments
привязан к стеку вызова и аргументам функции, большинство действий с ним приводят к деоптимизации функции. В V8 сейчас оптимизируется только получение .length
, получение элемента по индексу, передача в .apply
, да и то далеко не во всех случаях. Передача arguments
в любую функцию (даже Array.prototype.slice.call(arguments)
) или изменения переменной-аргумента функции, если в ней присутствует arguments
, делает её оптимизацию невозможной. Хорошо расписано здесь. Rest же создаёт обычный массив без лишних привязок и должен легко оптимизироваться движками.+2
+ на русском от первого лица
0
Thanks!
Стало понятно.
Стало понятно.
0
Верю что Хром и ФФ к началу следующего года подойдут вплотную к полной совместимости. Но как же быть с Edge? Что-то у меня мало веры в то в Windows 10 Edge будет обновляться так же быстро и незаметно как Хром.
-1
Почему нет? Ведь обещано что сам windows будет регклярно обновляться и новые полноценные релизы windows мы теперь не увидим очень долго.
0
Про винду всё понятно, но будет ли браузер при этом обновляться чаще винды?
0
Думаю что можно ожидать что он будет обновляться как минимум со скоростью самой винды.
0
Обещают, что он будет автоматически получать обновления, в том числе и с добавлением новых фич. Здесь скорее проблема в старых виндах и IE, которые ещё много лет будут портить жизнь, и в корявой реализации фич «для галочки», что будут мешать не меньше, чем
Object.defineProperty
из IE8.0
Как плавно перейти на es6?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
ECMAScript 2015 официальный релиз