← ТехнологииНай-важното за

Операторът ??: защо нулата не трябва да се заменя с подразбиране

Издател: ResumeMaker • 1 източника

Публикувано: 21.10.2026 14:07 · Променено: 21.10.2026 14:07

AI проверка по източници: 21.10.2026 10:06. Не е редакторско одобрение.

В няколко изречения

Накратко

?? използва резервна стойност само при null или undefined. Нула, false и празен текст могат да останат валидни данни.

Полезно е да знаеш

Операторът ?? връща дясната стойност само ако лявата е null или undefined. В останалите случаи запазва лявата, включително когато тя е 0, false или ''. Това е важно, когато „няма стойност“ се различава от „стойността е нула“. [1]

Например const stock = 0; const shown = stock ?? 10; дава 0. Ако stock е undefined, резултатът е 10. Числото 10 тук е условна стойност по подразбиране, не реална наличност.

Не използвай автоматично резервна стойност за всяко празно поле. При потребителски формуляр празният текст може да означава „не е попълнено“, но за ?? той не е null или undefined. Това правило трябва да се определи отделно.

В каталог безплатен продукт с цена 0 не трябва да се превръща в продукт с цена по подразбиране. Разграничаването на липса от валидна нулева стойност предотвратява подобни тихи грешки в представянето.

Източници

За повече подробности и проверка на информацията:

  1. [1] MDN — Nullish coalescing ↗