Пробежка по ES2015

Перевёл небольшой обзор основных новшеств в ES2015 (тот который ES6). В обзоре не хватает ES2015 Modules, а это пожалуй самое главное в этом релизе, но можно подробно почитать на сайте Frontender Magazine.

Arrow Functions — стрелочные функции

Синтаксис стрелочных функций короче чем у традиционных. Кроме того, this этих функций содержит контекст «ближайшей» области видимости.

Классы

Класс в данном случае — это просто удобный способ описания традиционного прототипного наследования. Синтаксический сахар так сказать.

Константы

Константа — способ зафиксировать значение переменной.

Значения параметров по-умолчанию

Значение по-умолчанию для аргумента функции.

Разложение

Извлечение переменных из массивов или объектов.

Генераторы

Генераторы — способ поставить выполнение функции на паузу, и продолжить в дальнейшем. Контекст функции между вызовами сохраняется.

let

let прикрепляет переменную к области видимости ближайшего блока {}. Firefox уже долгое время поддерживает эту возможность и теперь она есть в стандартном ES6. Важно: Если let указана вне какого-то блока {}, то она «цепляется» к глобальной области видимости.

Map

Map — объект вида ключ/значение. И объект и примитив могут быть ключом\значением для Map. Стоит отметить внешнее сходство с традиционными объектами, но Map не имеет ограничений на тип ключа. Кроме того есть возможность получить длину Map. Подробное описание.

Set

Set — это коллекция уникальных значений и может быть проитерирована в порядке вставки элементов.

WeakMap

WeakMap — объект вида ключ/значение, в качестве ключа может быть только объект. Значение могут быть любого типа. В WeakMap ссылка на объект не является причиной для не удаления этого объекта из памяти. Другими словами если на объект ссылается только WeakMap, то сборщик мусора его удалит.

WeakSet

WeakSet — коллекция уникальных объектов. В отличии от Set, WeakSet может хранить только объекты. Ссылки на объекты как и в WeakMap не являются «слабыми», и не помешают сборщику мусора удалить их, если ссылки на этот объект остались только в WeakMap или WeakSet.

Промисы

Promises — созданы для удобной работы с отложенными или асинхронными вычислениями.

Прокси

Прокси — специальный объект для которого вы можете переопределить стандартные сеттеры и геттеры. Подробнее.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *