--- title: Igualdad Estricta (===) slug: Web/JavaScript/Referencia/Operadores/Strict_equality translation_of: Web/JavaScript/Reference/Operators/Strict_equality ---
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.
x === y
Los operadores de estricta igualdad (===
y !==
) usan el Algoritmo Estricto Comparativo de Igualdad para comparar dos operandos:
false
.true
solo si se refiere al mismo objeto.null
o ambos operandos son undefined
, produce true
.false
.+0
y -0
son considerados como del mismo valor.true
o ambos ser false
.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.
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); // true
console.log("3" === 3); // false console.log(true === 1); // false console.log(null === undefined); // false
const object1 = { name: "hello" } const object2 = { name: "hello" } console.log(object1 === object2); // false console.log(object1 === object1); // true
Specification |
---|
{{SpecName('ESDraft', '#sec-equality-operators', 'Equality operators')}} |
{{Compat("javascript.operators.strict_equality")}}