Igualdad Estricta (===)
El operador de estricta igualdad (===) revisa si dos operandos son iguales y produce un resultado Booleano. A diferencia del operador de igualdad regular (==), el operador de estricta igualdad siempre considera que los operandos de distinto tipo de valor son diferentes y nunca similares.
Sintaxis
x === y
Descripción
Los operadores de estricta igualdad (=== y !==) usan el Algoritmo Estricto Comparativo de Igualdad para comparar dos operandos:
- Si los operandos son de diferente tipo de valor, produce
false. - Si ambos operandos son objetos, produce
truesolo si se refiere al mismo objeto. - Si ambos operandos son de tipo
nullo ambos operandos sonundefined, producetrue. - Si cualquier operando es de tipo NaN, produce
false. - En otros casos, compara los valores de ambos operandos:
- Los números deben tener el mismo valor numérico, aunque
+0y-0son considerados como del mismo valor. - Los strings deben tener los mismos caracteres en el mismo orden.
- Los booleanos deben ambos ser
trueo ambos serfalse.
- Los números deben tener el mismo valor numérico, aunque
La diferencia más notable entre este operador y el operador de igualdad regular (==) es que si los operandos son de distinto tipo de valor, el operador == intenta convertir los valores a un mismo tipo de dato antes de compararlos.
Ejemplos
Comparando operandos del mismo tipo
console.log("hello" === "hello"); // true
console.log("hello" === "hola"); // false
console.log(3 === 3); // true
console.log(3 === 4); // false
console.log(true === true); // true
console.log(true === false); // false
console.log(null === null); // trueComparando operandos de distinto tipo
console.log("3" === 3); // false
console.log(true === 1); // false
console.log(null === undefined); // falseComparando objetos
const object1 = {
name: "hello"
}
const object2 = {
name: "hello"
}
console.log(object1 === object2); // false
console.log(object1 === object1); // trueEspecificaciones
Compatibilidad entre exploradores
BCD tables only load in the browser