tgoop.com/prog_way_blog/152
Create:
Last Update:
Last Update:
Оператор объединения с null '??'
Относительно новая замена оператору ||
в быту разработчика. Рассмотрим вот такую ситуацию:
С сервера приходит адрес пользователя, который может быть null
либо undefined
. В таком случае, обработать этот кейс можно так:
const state = (json.city !== null && json.city !== undefined) ? json.city : "default"
Какая-то совсем страшная кроказябра написана сверху, не так ли?
А можно записать вот так:
const state = json.city ?? "default"
Оператор
??
возвращает первый аргумент, если он не null/undefined
, иначе второй. В этой ситуации это однозначно спасает ситуацию и делает код более читаемым.И кто-то заметит, что вместо
??
можно использовать ||
. А вот и нет. Такая ситуация:Что если в вышепредставленном
json
есть поле score
. Оно либо ноль, либо null/undefined
.Смотрим код:
// json.score = 0
json.score || 1000 // 1000
json.score ?? 1000 // 0
Оператор
??
работает только с null
и undefined
, а ||
также обрабатывает falsy-значения. На этом всё. Спасибо за прочтение, это важно для меня.
#web #theory #javascript
BY progway — программирование, IT

Share with your friend now:
tgoop.com/prog_way_blog/152