Então, existe uma diferença (a dica vale para PHP também).
Vamos ver o seguinte código:
<script>
if ('0' == 0) {
alert('É igual!');
} else {
alert('É diferente');
}
</script>
Então, se executarmos o código acima, veremos que ele diz que os valores são iguais mesmo que os tipos (um string, outro um inteiro) sejam diferentes.
Meio estranho, não?
Agora faremos com o operador "===" :
<script>
if ('0' === 0) {
alert('É igual!');
} else {
alert('É diferente');
}
</script>
Incrivel, agora ele fala que é diferente... Mas se eu colocar com o mesmo tipo (inteiro e inteiro):
<script>
if (0 === 0) {
alert('É igual!');
} else {
alert('É diferente');
}
</script>
Ele fala que é igual! :)
Para quem não adivinhou, o operador "==" compara os valores sem verificação do tipo e o operador "===" compara os valores e os tipos de cada variável (ou constante).
Legal, não? ;)
Até a próxima dica!
2 comentários:
Take, mto bom..
Um post legal é sobre as diferenças entre comparar '' 0 undefined e nan tal... Eu sei que undefined tem algumas tretas, sabe como é?
Abraços,
Diego Piccolo.
Só uma coisa que ficou faltando, Take. Os nomes dos operadores:
"=" -> "igual"
"==" -> "igual igual"
"===" -> "igual pra caralho"
Postar um comentário