Пробежка по 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 – созданы для удобной работы с отложенными или асинхронными вычислениями.

Прокси

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

Leave a Reply

Your email address will not be published. Required fields are marked *