En la programación frecuentemente es necesario determinar la igualdad de variables en relación a otras variables. Esto se realiza usando el operador igual.
El operador más conocido para realizar este proceso es el doble igual (==) este operador puede determinar si dos variables son iguales, incluso si no son del mismo tipo.
Por ejemplo.
var varUno = 50;
var varDos = 50;
var varTres = "50";
var varCuatro = "Hola";
//Realizando las comparaciones de las variables quedaría:
varUno == varDos; // Imprime true
varTres == varCuatro; // Imprime false
varUno == varTres; //Imprime true
En este ejemplo podemos observar que:
varUno == varDos
(50 == 50) la respuesta será verdadera (true
)varTres == varCuatro
("50" == "Hola") será falso (false
) tal y como se espera. varUno == varTres
(50 == "50") al ser evaluado la respuesta será verdadero (true
) a pesar que varUno y varTres son de diferentes tipos (Entero y String respectivamente).Detrás de escena el operador de igualdad realiza una conversión de tipo de las variables antes de determinar la igualdad, esto contrasta con el operador triple igual (===
) el cual establece una comparación estricta (estrictamente igual).
El operador ===
determina si dos variables son iguales y son del mismo tipo.
var varUno = 50;
var varDos = 50;
var varTres = "50";
var varCuatro = "Hola";
//Realizando las comparaciones de las variables quedaría:
varUno === varDos; // Imprime true
varTres === varCuatro; // Imprime false
varUno === varTres; //Imprime false
Realizando las misma comparaciones del ejemplo anterior, se observa que las respuestas son equivalentes, excepto en la comparación de varUno === varTres
(50 === "50") arrojando falso (false
), debido a que la comparación no es igual, ya que tienen el mismo valor, pero diferente tipo.
Se recomienda hacer uso del operador ===
para las operaciones de comparación, igualmente su opuesto; estrictamente diferente !==