Экспериментальные нововведения в реализации JavaScript в Chrome
В сборку браузера Google Chrome для разработчиков (dev channel) была добавлена реализация некоторых экспериментальных возможностей интерпретатора JavaScript, взятых из грядущей спецификации Harmony. Самое интересное:
- Добавлена возможность использовать лексическую область видимости (lexical scoping). Для этого нужно использовать объявление переменной "let" или "const" вместо "var".
- Коллекции - более адекватная реализация отображений (maps) и множеств. Правда, итерация по коллекциям пока не поддерживается.
- Слабые отображения (weak maps) - отображения, в которых сборщик мусора удаляет элементы, ключ которых более недоступен. Это позволит разработчикам меньше волноваться об утечках памяти при использовании больших долгоживущих таблиц.
- Прокси - виртуальные объекты, которые эмулируют работу реальных объектов и функций, и которые могут использоваться для построения интересных интерфейсов и абстракций.
Разработчики обещают двигаться дальше.
Для того, чтобы включить экспериментальные возможности, необходимо скачать последнюю сборку из dev channel и включить опцию "Experimental JavaScript features" в chrome://flags.