Comments 33
Наконец то!
Осталось дождаться когда появятся браузеры полностью реализующие новый стандарт. Когда это произойдёт перед web-разработчиками наверное встанет новая задача: браузерам поддерживающим es2015 отдавать es2015 исходники, а другим версию скомпилированную в es5. Так как наверняка es2015 версия будет эффективнее чем скомпилированная.
Осталось дождаться когда появятся браузеры полностью реализующие новый стандарт. Когда это произойдёт перед web-разработчиками наверное встанет новая задача: браузерам поддерживающим es2015 отдавать es2015 исходники, а другим версию скомпилированную в es5. Так как наверняка es2015 версия будет эффективнее чем скомпилированная.
уже есть инструменты, которые траслитерируют на лету только несовместимое
Вы не могли бы подсказать как они называются? Что-то не могу найти…
Судя по писанию этот инструмент просто может загружать es2015 модули вызывая traceur или babel для них. traceur или babel способны при компиляции оставлять те es2015 конструкции которые уже поддерживаются?
У бабеля есть опция blacklist. Занесите туда те трансформеры, что вам не нужны (нативно поддерживаются). Список трансформеров: babeljs.io/docs/advanced/transformers
https://featuretests.io/
В соседней новости TedBeer указал ссылку на книгу одного из разработчиков, думаю, будет полезным и тут упомянуть:
Вчера присутствовал на презентации ES6 с докладчиком Dr. Axel Rauschmayer(его блог) Он плотно учавствовал в разработке ES6. Ему задали вопрос насчет поддержки в браузерах и он сказал, что по плану все основные браузеры будут полностью поддерживать стандарт уже до конца этого года.
На днях он закончил книжку по ES6 и она доступна бесплатно в онлайн — Exploring ES6
На самом деле это далеко не первая книга.
Куда интереснее вот это 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».
Если я правильно понимаю, то скоро можно будет писать под Веб на любом языке поддерживающем эту технологию.
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, который правильно сделан, а не революция.
Надеюсь для любителей IE кто-то возьмется за быстрые и вменяемые полифилы. Иначе все так и останется роскошью, а не средством передвижения.
Вас что-то не устраивает в существующих? :)
Раз они сделали TCO, они выкинули идиотский метод arguments?
Они не ломали обратную совместимость.
Свойства
arguments
и функций, мешающие TCO, отключены в строгом режиме ещё в ECMAScript 5. TCO работает только в строгом режиме, а он в синтаксисе модулей включен по умолчанию. Ну а по поводу arguments
— хоть он и присутствует, вместо него рекомендуется использовать rest.О как, очень интересно выслушать точку зрения минусующего :)
Я знаю зачем вас минусуют, но в доках написано, что если функция использует rest параметры в заголовке, то arguments внутри не будет.
Не совсем верно, по спецификации наличие rest на наличие
Дело в оптимизации кода. Объект
arguments
никак не влияет, пример, поведение FF здесь ошибочно, хотя, само собой, реализация не будет создавать arguments
, если он не используется :)Дело в оптимизации кода. Объект
arguments
привязан к стеку вызова и аргументам функции, большинство действий с ним приводят к деоптимизации функции. В V8 сейчас оптимизируется только получение .length
, получение элемента по индексу, передача в .apply
, да и то далеко не во всех случаях. Передача arguments
в любую функцию (даже Array.prototype.slice.call(arguments)
) или изменения переменной-аргумента функции, если в ней присутствует arguments
, делает её оптимизацию невозможной. Хорошо расписано здесь. Rest же создаёт обычный массив без лишних привязок и должен легко оптимизироваться движками.+ на русском от первого лица
Thanks!
Стало понятно.
Стало понятно.
Верю что Хром и ФФ к началу следующего года подойдут вплотную к полной совместимости. Но как же быть с Edge? Что-то у меня мало веры в то в Windows 10 Edge будет обновляться так же быстро и незаметно как Хром.
Почему нет? Ведь обещано что сам windows будет регклярно обновляться и новые полноценные релизы windows мы теперь не увидим очень долго.
Про винду всё понятно, но будет ли браузер при этом обновляться чаще винды?
Думаю что можно ожидать что он будет обновляться как минимум со скоростью самой винды.
Обещают, что он будет автоматически получать обновления, в том числе и с добавлением новых фич. Здесь скорее проблема в старых виндах и IE, которые ещё много лет будут портить жизнь, и в корявой реализации фич «для галочки», что будут мешать не меньше, чем
Object.defineProperty
из IE8.Как плавно перейти на es6?
Sign up to leave a comment.
ECMAScript 2015 официальный релиз