Operadores de igualdad y desigualdad (==, ===, !=, !==) |
El operador == primero hace la conversión a un mismo tipo de dato para verificar si son iguales, en cambio el operador === llamado operador de igualdad estricta compara los valores sin hacer conversiones. Esto hace que cuando utilizamos el operador === retorne siempre false en caso que las variables que comparamos sean de distinto tipo.
El siguiente if se verifica verdadero ya que con el operador == primero se transforman los dos valores al mismo tipo de datos previos a verificar su igualdad:
var v1='55'; if (v1==55) document.write('son iguales');
En cambio el siguiente if utilizando el operador de igualdad estricta se verifica false ya que son variables o valores de distinto tipo:
var v1='55'; if (v1===55) document.write('son iguales');
Los operadores != y !== son los opuestos de == y ===.
El operador != retorna true si son distintos previo conversión a un mismo tipo de dato y el operador !== retorna true si los valores son distintos sin hacer una conversión previa, teniendo en cuenta que para tipos de datos distintos es true el valor retornado.
El siguiente if se verifica false:
var v1='55'; if (v1!=55) document.write('son distintos');
En cambio utilizando el operador !== se verifica verdadero ya que son tipos de datos desiguales:
var v1='55'; if (v1!==55) document.write('son distintos');
El operador de igualdad estricto === analiza los operandos de la siguiente forma:
El operador de igualdad == analiza los operandos de la siguiente forma:
Algunas comparaciones:
if (true==1) //verdadero
if (true===1) //falso
if (false==0) //verdadero
if (false===0) //falso