Tem mais um operador, o ??
(nullish coalescing operator), que foi adicionado recentemente ao JavaScript. Ele é semelhante ao ||
, mas funciona de forma diferente ao verificar se um valor é "válido" ou não.
O operador ||
segue o padrão falsy, o que significa que ele considera 0
, ''
(string vazia), false
, null
, undefined
, e NaN
como valores falsy. Por exemplo:
const var1 = 0 || 10
console.log(var1) // O resultado será 10, pois 0 é considerado falsy.
Por outro lado, o ??
só considera null
e undefined
como falsy. Qualquer outro valor é considerado "válido". Por exemplo:
const var1 = 0 ?? 10
console.log(var1) // O resultado será 0, pois o ?? considera 0 como um valor válido.
Portanto, se você quer usar o operador ||
, mas deseja que ele considere valores como 0
, false
, e ''
como válidos, você pode usar o ??
. Espero ter ajudado!