Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Вчера присутствовал на презентации ES6 с докладчиком Dr. Axel Rauschmayer(его блог) Он плотно учавствовал в разработке ES6. Ему задали вопрос насчет поддержки в браузерах и он сказал, что по плану все основные браузеры будут полностью поддерживать стандарт уже до конца этого года.
На днях он закончил книжку по ES6 и она доступна бесплатно в онлайн — Exploring ES6
arguments и функций, мешающие TCO, отключены в строгом режиме ещё в ECMAScript 5. TCO работает только в строгом режиме, а он в синтаксисе модулей включен по умолчанию. Ну а по поводу arguments — хоть он и присутствует, вместо него рекомендуется использовать rest.arguments никак не влияет, пример, поведение FF здесь ошибочно, хотя, само собой, реализация не будет создавать arguments, если он не используется :)arguments привязан к стеку вызова и аргументам функции, большинство действий с ним приводят к деоптимизации функции. В V8 сейчас оптимизируется только получение .length, получение элемента по индексу, передача в .apply, да и то далеко не во всех случаях. Передача arguments в любую функцию (даже Array.prototype.slice.call(arguments)) или изменения переменной-аргумента функции, если в ней присутствует arguments, делает её оптимизацию невозможной. Хорошо расписано здесь. Rest же создаёт обычный массив без лишних привязок и должен легко оптимизироваться движками.Object.defineProperty из IE8.
ECMAScript 2015 официальный релиз