Новые возможности ES2021 / ES12

Новые возможности ES2021 / ES12

Maksym Pohribniak

Оператор логического присваивания

Оператор логического присваивания объединяет логические операции &&|| , ?? c присваиванием:

Операция в 4-й строке может быть перезаписана так:

Поскольку x - истинное значение, ему присваивается значение y, то есть 2.

Как и в случае с &&, мы можем поступить и с || а также с ??.

В случае с логическим или операция присваивания происходит, только если x является ложным значением. В нашем коде x содержит 2, которое является истинным значением, и, следовательно, присваивание в этом случае не поизойдет.

В строке 3 вы видите оператор нуллевого слияния ??. Если вы с ним не знакомы, почитайте о нем здесь.

Он работает следующим образом: если значение x равно null или undefined, правая часть ?? вычисляется и присваивается в x. Пример использования:

Метод String replaceAll()

До этого был только метод  replace(), который работает так: если переданный параметр является строкой, метод  replace() заменяет только первый найденный элемент. Пример:

Мы можем сделать полную замену, только если предоставим шаблон в виде регулярного выражения c флагом g.

Новый метод  String.prototype.replaceAll(), произведет полную замену, даже если входной шаблон является строкой.

Приватные методы

Они могут быть доступны только внутри класса, в котором они определены. Имена частных методов начинаются с #.

Добавлены также приватные «геттеры» и «сеттеры»:

Promise.any

Как только одно из "обещаний"(Promise) выполнится успешно(fullfill), метод возвратит единственный объект Promise со значением выполненного "обещания". Если ни одно из "обещаний" не завершится успешно(если все "обещания" завершатся с ошибкой, т.е. rejected), тогда возвращенный объект promise будет отклонен(rejected) с одним из значений: массив содержащий причины ошибки(отклонения), или AggregateError — подкласс Error, который объединяет ошибки вместе.

Также, в отличие от Promise.race(), который возвращает "обещание", содержащее значение первого завершенного(resolved или rejected), этот метод возвращает "обещание" содержащее значение первого успешно выполненного(resolved) "обещания".


Report Page