В чём разница между использованием || и ?? для задания значения по умолчанию?

|| выбирает значение справа для любого falsy-значения, а ?? — только для null и undefined.

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

Что ответить на собеседовании

|| выбирает значение справа для любого falsy-значения, а ?? — только для null и undefined.

Подробный разбор

Ответ с пояснениями

|| выбирает значение справа для любого falsy-значения, а ?? — только для null и undefined.

Поэтому 0 || 10 даст 10, а 0 ?? 10 сохранит 0; аналогично различаются пустая строка и false. Для пользовательских данных это часто критично. При смешивании ?? с || или && требуются явные скобки, чтобы задать допустимую структуру выражения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее