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