Vamos supor que temos o seguinte código:
const [curso, setCurso] = useState({ nome: "React com Typescript", completado: false });
…
setCurso({
nome: "React com Typescript",
completado: condicao ? true : false
})
se condição
já for uma variável booleana, nós podemos resumir a linha que atribui valor a completado
como:
setCurso({
nome: "React com Typescript",
completado: condicao
})
"Mas e se não for? E se eu quiser só saber se condição
tem valor ou não, e se tiver eu quero true
, se não tiver eu quero false
?"
Nesse caso, a gente pode fazer
setCurso({
nome: "React com Typescript",
completado: !!condicao
})
Esse operador de duas exclamações !!
converte qualquer objeto num booleano. Se o objeto for "Válido" ele retorna true
, senão retorna false
. Vale a leitura complementar