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

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

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

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

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

Comparando objetos

const object1 = {
  name: "hello"
}

const object2 = {
  name: "hello"
}

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

Especificaciones

Compatibilidad entre exploradores

BCD tables only load in the browser

También revisa