Как разработчик, мы можем подумать, почему команда JavaScript добавила нулевой оператор объединения (??), когда у нас уже есть оператор ИЛИ (||). Давайте обсудим их ниже.

Что такое нулевой объединяющий оператор '??'?

Объединение Nullish ‘??’ – это оператор, который добавляется в JavaScript для обработки null и undefined.

а?? b Здесь, если a определено, будет возвращено значение a. В противном случае б.

Что мы использовали перед нулевым оператором объединения ‘??’?

Разработчики использовали оператор OR(||) с самого начала JavaScript. Это используется для обработки ложных значений (0, «», false, null, undefined).

если значение a является одним из ложных значений выше, b будет возвращено.

Почему мы должны использовать нулевой объединяющий оператор ‘??’?

Потому что нулевой оператор объединения возвращает первое определенное значение. На практике мы можем захотеть использовать значение по умолчанию только тогда, когда переменная имеет значение null/undefined. В этом случае ИЛИ(||) не будет работать должным образом.

высота || 100 проверяет высоту на ложное значение, и это 0, действительно ложное. поэтому результат || второй аргумент, 100.

высота ?? 100 проверяет, является ли высота нулевой/неопределенной, а это не так, поэтому результатом является высота «как есть», то есть 0.