Подтвердить что ты не робот

Какие функции ECMAScript 6 можно использовать в веб-браузерах?

ES6 выглядит как невероятно удивительный язык! Я действительно впечатлен тем, что я видел в видео и презентационных слайдах в Интернете.

Мне любопытно, как я могу использовать ES6 в современных браузерах. Готова ли продукция ES6? Кроме того, есть ли способ сделать мой код ES6 обратно совместимым со старыми временем выполнения ECMAscript?

4b9b3361

Ответ 1

Да, я согласен! ES6 выглядит довольно захватывающим.

Первоначально проект должен был быть полнофункциональным к концу 2013 года. И, по прогнозам, спецификация будет завершена к концу 2014 года. Эта дата, согласно твит Allen Wirfs-Brock, был перенесен на июнь 2015 года.

Подробнее см. этот пост в блоге доктором Акселем Раушмайером.

Лучшая проекция угадывания

Если все будет хорошо, мы увидим его во всех браузерах класса A до конца 2015 года.

Использование функций ES6 Теперь

Многие из функций уже доступны в Firefox и Chrome (в Chrome вы должны включить экспериментальный JavaScript для доступа к нему). Вероятно, Safari будет самым длинным.

Ясно, что через несколько лет после этого значительная часть людей в Интернете будет использовать современный браузер. Если вы в состоянии требовать браузеры A-grade, вы сможете сделать переход быстрее. Но есть некоторые инструменты, которые могут помочь начать переход сейчас:

Разработана довольно обширная прокладка ES6 для совместимых с ES5 браузеров, доступная здесь: https://github.com/paulmillr/es6-shim

Он включает в себя прокладки для Символы, Карты, Устанавливает и множество новых Math, String и Массив. Он разрабатывается вместе с черновиками, и он довольно близок к последнему с самым последним проектом ES6. Он должен быть заполнителем до тех пор, пока ES6 не будет готов, так что я могу начать писать код ES6 сейчас, код, который будет работать, когда браузеры начнут поддерживать ES6 изначально.

К сожалению, в синтаксических изменениях нет возможности просто "подгонять". Для этого вам нужен либо интерпретатор, либо компилятор, либо просто нужно ждать в браузерах.

  • Traceur является транспилером ES6-to-ES5.
  • Continuum - это виртуальная машина ES6, которая может работать в браузерах ES3.
  • Babel (ранее известный как 6-to-5) является транспилером, который скомпилирует ваш ES6-код в ES5, который будет работать везде.