Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Booleanos, 0 == false é true e 0 === false é false?

Olá, rodei o comando console.log(0 == false); e console.log(0 === false); e obtive resultados diferentes, não entendi?

1 resposta
solução!

Então, cara. No js, "==" significa equivalência e "===" significa equivalência estrita.

A diferença entre os dois, é que o primeiro vai interpretar como igual valores de tipos diferentes, enquanto o segundo não irá.

Para "==": Um valor booleano false; uma string "false", uma string de numero zero, um int zero; são interpretados como iguais. Pois, apesar dos tipos diferentes, computacionalmente eles tem o mesmo valor.

Já para "===": todos os exemplos anteriores são vistos como diferentes, pois apesar de terem o mesmo valor, o tipo de dado é diferente. Um é booleano, outro é int, dois são strings, sendo que cada string possui caracteres diferentes.

Espero ter ajudado.