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 !==