Menu
Coddy logo textTech

Igualdad estricta vs. débil

Parte de la sección Fundamentos del Journey de JavaScript de Coddy — lección 16 de 77.

En JavaScript, existen dos tipos de operadores de igualdad: igualdad débil (==) e igualdad estricta (===).

La igualdad débil (==) comprueba si dos valores son iguales después de realizar la coerción de tipos. Esto significa que si los operandos tienen tipos diferentes, JavaScript intentará convertirlos a un tipo común antes de realizar la comparación.

Por ejemplo:

let b = 5 == "5";   // Es verdadero, porque la cadena "5" se convierte al número 5 antes de la comparación
let b = 0 == false; // Contiene true, porque el booleano false se convierte al número 0 antes de la comparación

La igualdad estricta (===), por otro lado, comprueba si dos valores son iguales sin realizar ninguna conversión de tipo. Si los operandos tienen tipos diferentes, se consideran no iguales.

Por ejemplo:

let b = 5 === "5";   // Contiene false, porque no se realiza ninguna conversión de tipo, y un número no es igual a una cadena
let b = 0 === false; // Contiene false, porque no se realiza ninguna conversión de tipo, y el número 0 no es igual al booleano false

En general, se recomienda usar la igualdad estricta (===) en la mayoría de los casos para evitar resultados inesperados debido a la coerción de tipos.

De manera similar, también existen los operadores de desigualdad débil (!=) y desigualdad estricta (!==) que funcionan de manera similar, pero comprueban la desigualdad en lugar de la igualdad.

La desigualdad débil (!=) comprueba si dos valores no son iguales después de realizar la coerción de tipos, mientras que la desigualdad estricta (!==) comprueba si dos valores no son iguales sin realizar la conversión de tipos.

challenge icon

Desafío

Principiante

Se te proporciona un código con tres variables: a, b y c.

Tu tarea es realizar las siguientes comparaciones e imprimir los resultados:

  1. Comprueba si a es débilmente igual a b y guarda el resultado en d.
  2. Comprueba si a es estrictamente igual a c y guarda el resultado en e.
  3. Comprueba si b es débilmente no igual a c y guarda el resultado en f.
  4. Comprueba si a es estrictamente no igual a b y guarda el resultado en g.

Utiliza las variables dadas y los operadores de comparación para completar la tarea.

Hoja de referencia

JavaScript tiene dos tipos de operadores de igualdad:

La igualdad débil (==) realiza una coerción de tipos antes de la comparación:

5 == "5"   // true - el string "5" se convierte al número 5
0 == false // true - el booleano false se convierte al número 0

La igualdad estricta (===) compara sin conversión de tipos:

5 === "5"   // false - número vs string, sin conversión
0 === false // false - número vs booleano, sin conversión

De manera similar para los operadores de desigualdad:

  • Desigualdad débil (!=) - realiza coerción de tipos
  • Desigualdad estricta (!==) - sin conversión de tipos

Se recomienda usar la igualdad estricta (===) para evitar resultados inesperados debido a la coerción de tipos.

Pruébalo tú mismo

// Variables dadas
let a = 10
let b = "10"
let c = true

// Escribe tu código debajo


// No cambies la línea de abajo
console.log(`d = ${d}`)
console.log(`e = ${e}`)
console.log(`f = ${f}`)
console.log(`g = ${g}`)
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos