Привет дев. Давайте посмотрим на новые и интересные функции ES2021.

1. Числовые разделители

Эта новая функция позволяет нам использовать знаки подчеркивания (_) между цифрами в числе. Например,

константа numOne = 10_000_333;

константа numTwo = 2_555_100;

Объявленные выше числа можно добавлять, вычитать или манипулировать ими по мере необходимости. Здесь преимущество разделителя в его удобочитаемости. Читать 10_000_333 легче, чем 10000333. Не так ли?

2. String.prototype.replaceAll

Функция replaceAll позволяет нам заменить все вхождения подстроки в строке. Например,

const someText = "Привет*мир*ура!";

const spacedText = someText.replaceAll ("*", " ");

console.log(разделенный текст);

В приведенном выше коде мы заменяем все экземпляры * пробелом.

Следующие функции больше касаются сокращенных обозначений, и это действительно здорово.

3. И & равно (&&=)

Проще говоря, &&= может проверить, определена ли переменная или нет, если она определена с истинным значением, тогда переменной присваивается предпочтительное значение.

Старый способ:

пусть случайное значение = 1;

если (случайное значение) {

случайное значение = 100;

}

Новый путь:

пусть случайное значение = 1;

случайное значение &&= 100;

console.log(случайное значение); //Выход: 100

4. ИЛИ & равно (||=)

Здесь ||= может проверить, является ли данное значение ложным или нет. Если значение ложно, оно будет заменено предпочтительным значением.

Старый способ:

пусть randomText = не определено;

если (! случайный текст) {

randomText = «Привет, ES2021.»;

}

Новый путь:

пусть randomText = не определено;

randomText ||= «Привет, ES2021.»;

console.log(случайный текст); //Вывод: Привет, ES2021.

5. Nullish Coalescing & Equals (??=)

Эта сокращенная запись ??= присваивает предпочтительное значение, когда данное значение равно null или не определено.

пусть someValue = undefined;

какое-то значение ??= 1000;

console.log(какое-то значение); //Выход: 1000

PS: разница между OR & Equals и Nullish Coalescing & Equals заключается в том, что первая функция заменяет значение, если переменная содержит какие-либо ложные значения, такие как 0, false, null и т. д., тогда как вторая функция заменяет значение, только если данная переменная содержит null или undefined.

Продолжение следует…

Спасибо!