Рубрики
Без рубрики

JavaScript – лучший способ проверить только «Nulish» только стоимость!

Введение в месяц назад у меня есть шанс узнать о Nullish Coalescing Operator в … Помечено JavaScript, TeampScript, Nowizers, CodeNewie.

Месяц назад у меня есть шанс узнать о Нулеватый коалиспильный оператор в JavaScript. Поэтому я решил поделиться этим на моем Twitter и LinkedIn Отказ

И ответ, который был распространен на обоих постах, был этот 👇

  • В Твиттере
  • На LinkedIn.

Поэтому я решил написать подробный список в блоге, объясняющую В чем разница между Nullish Coalescing Operator (??) и логический или (

Но прежде чем продолжить дальше, будем напомнить себе одной очень распространенной концепцией в JavaScript, которая является Каковы правдоподобные/фальсистые ценности .

В JavaScript есть 6 значений, которые считаются Falsy :

  • неопределенный
  • нулевой
  • Нан
  • 0
  • “”(пустой строки)
  • ложный

Все остальные значения JavaScript будут производить правда и, таким образом, считаются правдивость .

Вот несколько примеров 👇

const value1 = 1;
const value2 = 23;

const result = value1 || value2; 

console.log(result); // 1
const value1 = 0;
const value2 = 23;

const result = value1 || value2; 

console.log(result); // 23

Здесь, потому что значение1 равно 0, значение2 будет проверено. Как это правдоподобное значение, результат всего выражения будет значение2.

TL; DR –

Если какая-либо из этих шести значений (ложная, не определенная, нулевая, пустая строка, NAN, 0) является первым операндом || Затем мы получим второй операнд в результате.

|| Оператор работает отлично Но иногда мы хотим, чтобы следующее выражение было оценено только тогда, когда первый операнд является только NULL или undefined.

Следовательно, ES11 добавил Nullish Coalescing оператора.

?? Оператор может быть использован для обеспечения отклонения значения в случае, если другое значение равно нулю или не определено. Требуется два операнда и написано так:

value ?? fallbackValue

Если левый операнд нуль или не определен, то ?? Экспрессия оценивает правильный операнд:

Объединение Nullish Coalescing оператора с дополнительным оператором цепочки

Необязательный оператор цепи (?.) Позволяет получить доступ к вложенному свойству, не имея явных проверок для каждого объекта в цепочке того, существует ли объект или нет.

Мы можем объединить Nullish Coalescing Operator с дополнительным оператором цепочки, тем самым благополучно обеспечиваю значение, отличное от неопределенного для отсутствия свойства. Вот пример:

const country = {
    general: {
        name: null
    }
};
const region = country ?.general?.name?? "France";
console.log(region);    // France

Мы видели, что Nullish Coalescing оператор действительно полезен, когда вы заботитесь только о null или undefined Значение для любой переменной.

И мем просто суммирует все 👇

Весь смысл Nullish Coalescing оператора состоит в том, чтобы различать Nullish (null, undefined) и falsey, но определенные значения (false, 0, ” и т. Д.)

Для || (Логические или) Значения Nullish и falsey одинаковы.

Я недавно начал свой собственный * рассылка * Где каждую среду я посылаю Лучшие советы от последних технологий для разработки программного обеспечения, лучшие практики и некоторые сочинения, связанные с когнитивными предубеждениями и психологией человека Отказ

Если вы не хотите пропустить, подумайте о подписке. (Это весело и 100% бесплатно)

Вы можете присоединиться, нажав здесь 💫.

Если вам нравится то, что вы читаете здесь, и хотите показать поддержку, подумайте о покупке мне кофе ☕

Оригинал: “https://dev.to/apoorvtyagi/nullish-coalescing-operator-vs-logical-or-5foe”