Как безопасно обрабатывать неопределенные и нулевые значения в коде с помощью Nullish Coalescing
Nullish coalescing - это относительно новая функция, появившаяся в JavaScript, которая позволяет разработчикам более рационально и эффективно обрабатывать нулевые или неопределенные значения в коде. В этой статье мы рассмотрим, что такое nullish coalescing, чем он отличается от традиционного логического оператора OR и как использовать его в коде для обработки нулевых и неопределенных значений.
Во-первых, давайте определим, что такое нулевая коалесценция. Это логический оператор, который возвращает операнд правой части, если операнд левой части равен null или не определен. Другими словами, если левая часть равна null или undefined, оператор возвращает значение правой части. В противном случае он вернет значение в левой части.
Вот пример того, как это работает:
const foo = null ?? 'default value'; console.info(foo); // Output: 'default value'
В этом примере переменной foo присваивается значение null, но поскольку мы используем оператор коалесценции nullish (??), вместо него возвращается значение по умолчанию.
Nullish coalescing отличается от традиционного логического оператора OR (||) тем, что последний возвращает правый операнд, если левый является ложным (т.е. null, undefined, false, 0 или пустая строка). Это может привести к неожиданному поведению при работе с нулевыми или неопределенными значениями.
Вот пример того, как ведет себя традиционный логический оператор OR:
const bar = null || 'default value'; console.info(bar); // Output: 'default value'
В этом примере bar также присваивается значение null, но поскольку мы используем традиционный оператор OR, вместо него возвращается значение по умолчанию.
Однако это может привести к неожиданному поведению в случаях, когда левая часть может быть ложным, но все же допустимым значением (например, пустая строка или число 0). Nullish coalescing решает эту проблему, возвращая правую часть только в том случае, если левая часть является нулевой или неопределенной.
Помимо использования nullish coalescing для обработки нулевых или неопределенных значений, вы также можете объединять их в цепочки, чтобы обеспечить запасные значения для нескольких переменных. Вот пример:
const foo = null; const bar = undefined; const baz = 'Hello, world!'; const result = foo ?? bar ?? baz; console.info(result); // Output: 'Hello, world!'
В этом примере мы объединяем несколько операторов nullish coalescing, чтобы обеспечить резервное значение для result. Поскольку foo и bar оба являются null или неопределенными, оператор возвращает значение baz.
В целом, nullish coalescing - это мощная функция в JavaScript, которая облегчает работу с нулевыми или неопределенными значениями в вашем коде. Поняв, как она работает и чем отличается от традиционного логического оператора OR, вы сможете использовать ее для написания более эффективного и надежного кода.
Подпишитесь на нашу бесплатную еженедельную рассылку . Следите за нами в Twitter , LinkedIn , YouTube , и Discord .
Заинтересованы в масштабировании вашего программного стартапа? Посмотрите Circuit.
20.08.2023 18:21
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".
20.08.2023 17:46
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
19.08.2023 18:39
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.
19.08.2023 17:22
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!
18.08.2023 20:33
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.
14.08.2023 14:49
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.