Привет дев. Давайте посмотрим на новые и интересные функции 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.
Продолжение следует…
Спасибо!