Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: nullish coalescing, logical OR, falsy, null, undefined

В чем разница между || и ?? ?

Проверяет понимание различий между логическим оператором ИЛИ (||) и оператором нулевого слияния (??) в JavaScript.

Короткий ответ

Оператор || возвращает первое истинное значение, а ?? возвращает первое определенное значение (не null и не undefined). Разница в том, что || считает ложными все falsy-значения (0, '', false), а ?? — только null и undefined. Используйте ?? для безопасной работы с отсутствующими значениями, когда 0 или пустая строка допустимы.

Длинный ответ

Разница между || и ??

Оператор логического ИЛИ (||) и оператор нулевого слияния (??) оба используются для выбора значения по умолчанию, но работают по-разному. || возвращает первое истинное (truthy) значение, а ?? — первое определенное (не null и не undefined). Это критично, когда falsy-значения (0, '', false) являются допустимыми данными.

Примеры кода

// Оператор ||
let count = 0;
let result = count || 10; // result = 10, так как 0 — falsy

// Оператор ??
let count2 = 0;
let result2 = count2 ?? 10; // result2 = 0, так как 0 не null/undefined

// С null
let name = null;
let defaultName = name ?? 'Guest'; // 'Guest'

// С undefined
let age;
let defaultAge = age ?? 18; // 18

Где применяется

  • Установка значений по умолчанию для параметров функций или конфигураций.
  • Обработка ответов от API, где 0 или пустая строка — валидные данные.
  • Безопасная работа с вложенными объектами (в комбинации с опциональной цепочкой).

Вывод

Используйте ?? когда нужно отличить отсутствие значения (null/undefined) от допустимых falsy-значений. || подходит для случаев, когда любое falsy-значение должно быть заменено.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    2

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#nullish coalescing

#logical OR

#falsy

#null

#undefined

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию