Новые возможности 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) "обещания".