Alguns de vocês já devem ter se deparado com um código que usa ou com a necessidade de uma comparação um pouco diferente no JavaScript. O operador "===", carinhosamente apelidado pelos meus colegas de trabalho de "igual-pra-caralho".
Então, vamos lá. Segue um pouco mais sobre a diferença entre os 3 operadores da mesma família:
= (Igual) É o operador de atribuição, usado para definir valores para propriedades ou variáveis;
== (Igual-igual) É o operador lógico que seria melhor definido como "equivalente". Ele avalia se o valor declarado ou de uma variável/propriedade é equivalente a um outro.
=== (Igual-pra-caralho) É o operador lógico que compara valor e tipo do dado.
A confusão está justamente aí. Quando usar um ou outro?
É importante lembrar que o JS não é uma linguagem fortemente tipada, então essa é justamente a razão de existir desse operador.
Eis um exemplo onde a utilização desses comparadores pode causar diferença:
function(){
var texto = "";
var numero = 0;
if (texto == numero){
alert("Esse código será executado");
}
if (texto === numero){
alert("Esse não será...");
}
if (numero === "0"){
alert("Esse também não..");
}
if (numero == "0"){
alert("Esse SIM!");
}
}
Por algum motivo, o JS entende que os valores "" para o tipo string e 0 são equivalentes. Como o operador 'Igual-pra-caralho' também verifica o tipo de dados, a verificação fica bem mais direcionada dentro do seu código.
É isso pessoal. Até a próxima!
Nenhum comentário:
Postar um comentário