This content originally appeared on DEV Community and was authored by Matheus dos Reis de Jesus
Capa por Evan Dennis no Unsplash
Sumário
Introdução
Talvez em algum momento você tenha se deparado com um trecho de código em Javascript da seguinte maneira:
const valor = valorReal || "valorPadrão";
O operador ||
usado acima é chamado de OU lógico, e funciona da seguinte maneira: Se o valor à esquerda do operador for verdadeiro, seu valor será atribuído à variável valor
. Se o seu valor for falso, a variável valor
receberá o valor à direta, "valorPadrão".
Se você já está habituado com Javascript, deve saber que existem vários problemas com relação a falsidade ou veracidade de valores na linguagem. Exemplo: "" e 0 são considerados valores falsos. Logo, se em um algoritmo "" ou 0 forem valores válidos, o operador ||
não iria fornecer o resultado necessário. É aí que entra o operador de Coalescência Nula(ou Nullish Coalescing).
O operador ??
Agora que você já entendeu o problema, vêm a solução. O operador de Coalescência Nula é representado por ??
e utilizado da seguinte forma:
const valor = valorReal ?? "valorPadrão";
Nesse caso, se o valor da variável valorReal
for null
ou undefined
, a variável valor
receberá "valorPadrão"
. Caso contrário, ela receberá o valor de valorReal
.
Caso de Uso
Pense no seguinte cenário: Você está fazendo um cálculo que utiliza um coeficiente. Se o coeficiente não for fornecido, ele irá receber um valor padrão, sendo 0
um valor válido. Como comentei, o operador ||
iria impedir que o 0
fosse utilizado. Nesse caso, o operador ??
se torna muito útil. Confira a representação desse problema abaixo:
function calcularResultado(x,y,coeficiente) { ;
const c = coeficiente ?? 0.5;
return x + y * c;
}
const resultado = calculaResultado(2,3);
console.log(resultado) // Saída: 3.5 ( 2 + 3 * 0,5 )
A função calculaResultado
usa o ??
para verificar se o parâmetro coeficiente
foi passado para a função. Caso tenha sido, seu valor será usado. Se não, o coeficiente padrão será 0.5
.
Considerações
O caso que citei for um exemplo simples, mas o operador ??
pode ser útil em muitas situações e garantir uma maior confiabilidade no seu código.
Gostou deste artigo? Me siga para mais conteúdos como esse!
Minhas redes sociais:
Twitter | Instagram | Youtube.
Até o próximo artigo!??
This content originally appeared on DEV Community and was authored by Matheus dos Reis de Jesus

Matheus dos Reis de Jesus | Sciencx (2021-04-12T12:08:06+00:00) [JS] Operador de Nullish Coalescing (??). Retrieved from https://www.scien.cx/2021/04/12/js-operador-de-nullish-coalescing/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.