Автор оригинала: FreeCodeCamp Community Member.
ES11 добавил Nullish Coalescing оператор, который обозначается двойным вопросительным знакам, как это: ??
Отказ
В этой статье мы рассмотрим, почему это так полезно и как его использовать.
Давайте начнем.
Исходная информация
В JavaScript есть логический или оператор короткого замыкания или оператора
Ниже приведены только шесть
Значения, которые считаются Falsy
Значения в JavaScript.
- ложный
- неопределенный
- ноль
- “”(пустая строка)
- Нан
- 0
Так что, если ничего не в указанном списке, то он будет считаться правда
значение.
Правда
и Falsy
Значения – это не-логические значения, которые принуждены к правда
или ложь
при выполнении определенных операций.
const value1 = 1; const value2 = 23; const result = value1 || value2; console.log(result); // 1
Как Оператор возвращает первый
правда Значение, в вышеуказанном коде,
Результат будет стоить, хранящуюся в
Value1 который является
1
Если Value1
это null
, undefined
, Пустой
или любой другой Falsy
Значение, то следующий операнд после
const value1 = 0; const value2 = 23; const value3 = "Hello"; const result = value1 || value2 || value3; console.log(result); // 23
Вот, потому что Value1
0, Значение2
будет проверен. Как это правдоподобное значение, результат всего выражения будет Значение2
Отказ
Если кто-то из этого является первым операндом || Затем мы получим второй операнд в результате.
Почему JavaScript нуждается в Nullish Coalescing Operator
Оператор работает отлично, но иногда мы хотим только следующее выражение, чтобы оценить, когда первый операнд только
null или
undefined
Следовательно, ES11 добавил Nullish Coalescing Operator.
В выражении Икс ?? y
,
- Если x либо
null
илиundefined
Тогда только Результат будетy
Отказ - Если х это не
null
илиundefined
Тогда результат будетх
Отказ
Это сделает условные проверки и код отладки легкой задачей.
Попробуй сам
let result = undefined ?? "Hello"; console.log(result); // Hello result = null ?? true; console.log(result); // true result = false ?? true; console.log(result); // false result = 45 ?? true; console.log(result); // 45 result = "" ?? true; console.log(result); // "" result = NaN ?? true; console.log(result); // NaN result = 4 > 5 ?? true; console.log(result); // false because 4 > 5 evaluates to false result = 4 < 5 ?? true; console.log(result); // true because 4 < 5 evaluates to true result = [1, 2, 3] ?? true; console.log(result); // [1, 2, 3]
Итак, от всех вышеуказанных примеров, ясно, что результат операции Икс ?? y
это y
только когда х
это либо undefined
или null
Отказ
Во всех других случаях результат операции всегда будет х
Отказ
Заключение
Как вы видели, Nullish Coalescing оператор действительно полезен, когда вы заботитесь только о null
или undefined
Значение для любой переменной.
Начиная с ES6, есть много полезных дополнений к JavaScript, как
- Разрушение ES6
- Импорт и синтаксис экспорта
- Функции стрелки
- Обещания
- Async/a ждать
- Необязательный оператор цепи
и многое другое.
Вы можете узнать все обо всех функциях ES6 + подробно в Овладение современным JavaScript книга.
Вы можете Получите освоение современной JavaScript Country скидка на 40% Отказ
Подписаться на мой Еженедельная рассылка Чтобы вступить в 1000+ других подписчиков, чтобы получить удивительные советы, трюки, статьи и скидки непосредственно в вашем почтовом ящике.