Igualdad Estricta (===)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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.

Pruébalo

console.log(1 === 1);
// Expected output: true

console.log("hello" === "hello");
// Expected output: true

console.log("1" === 1);
// Expected output: false

console.log(0 === false);
// Expected output: false

Sintaxis

x === y

Descripción

Los operadores de estricta igualdad (=== y !==) usan el Algoritmo Estricto Comparativo de Igualdadpara comparar dos operandos:

  • Si los operandos son de diferente tipo de valor, produce false.

  • Si ambos operandos son objetos, produce true solo si se refiere al mismo objeto.

  • Si ambos operandos son de tipo null o ambos operandos son undefined, produce true.

  • 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 +0 y -0 son considerados como del mismo valor.
    • Los strings deben tener los mismos caracteres en el mismo orden.
    • Los booleanos deben ambos ser 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.

Ejemplos

Comparando operandos del mismo tipo

js
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

Comparando operandos de distinto tipo

js
console.log("3" === 3); // false

console.log(true === 1); // false

console.log(null === undefined); // false

Comparando objetos

js
const object1 = {
  name: "hello",
};

const object2 = {
  name: "hello",
};

console.log(object1 === object2); // false
console.log(object1 === object1); // true

Especificaciones

Specification
ECMAScript® 2025 Language Specification
# sec-equality-operators

Compatibilidad con navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Strict equality (a === b)

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

También revisa