В Chrome (dev) реализованы будущие функции JavaScript
Комитет ECMA сейчас работает над разработкой следующей версии JavaScript, известной под кодовым названием Harmony. Он должен быть закончен к концу следующего года и станет самым большим обновлением за всю историю языка. Разработчики Chrome и V8 решили уже сейчас реализовать некоторые будущие функции JavaScript в браузере Chrome (версия для разработчиков).
Чтобы активировать новые функции, нужно в последнем релизе с dev-канала набрать chrome://flags
и включить флаг Experimental JavaScript features.
- Лексическая область видимости. Теперь
let
— это новыйvar
. Стандартные декларацииvar
дополненыlet
иconst
. Обе являются правильными способами присвоения объектам значений, при которых область видимости распространяется в пределах блока, что устранит типичный источник ошибок и странного поведения. Объявление функций теперь официально возможно и в локальной области видимости, при этом допускается лексическая область видимости (лексическая область видимости возможна только в строгом режиме). - Коллекции. Эффективные множества и ассоциативные массивы. Любой элемент можно использовать как ключ или значение, включая объекты.
- Weak maps. Особый вид ассоциативного массива, для которого сборщик мусора определяет, когда ключ больше не доступен, так что пару «ключ-значение» можно автоматически убрать из ассоциативного массива.
- Прокси-объект. Прокси симулирует объект или функцию JavaScript и позволяет настраивать практически любой аспект своего поведения. Разработчики считают, что это реально мощная вещь, которая выводит рефлексии (отражения) на новый уровень и может быть использована для различных продвинутых абстракций и интерфейсов.
… и многое другое появится позже.
via The Chromium Blog