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ónlet b = 0 == false; // Contiene true, porque el booleano false se convierte al número 0 antes de la comparaciónLa 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 cadenalet b = 0 === false; // Contiene false, porque no se realiza ninguna conversión de tipo, y el número 0 no es igual al booleano falseEn 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.
Desafío
PrincipianteSe te proporciona un código con tres variables: a, b y c.
Tu tarea es realizar las siguientes comparaciones e imprimir los resultados:
- Comprueba si
aes débilmente igual aby guarda el resultado end. - Comprueba si
aes estrictamente igual acy guarda el resultado ene. - Comprueba si
bes débilmente no igual acy guarda el resultado enf. - Comprueba si
aes estrictamente no igual aby guarda el resultado eng.
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 0La 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ónDe 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}`)Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Coerción de tipos7Calculadora para dividir la cuenta
Mensaje de bienvenidaCálculo de la propina y el total10FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz13Rastreador de lista de compras
Descripción general del proyectoAñadir elemento2Variables
NúmerosStringBooleanConvenciones de nomenclaturaVariables vacíasResumen - Inicializar variablesConstantes5Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleIf - Else anidadosSentencia Switch3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosOperadores de comparaciónIgualdad estricta vs. débilResumen - Matemáticas simples6E/S Básica
SalidaSalida con variablesConversión de tipos - Parte 1Conversión de tipos - Parte 2Resumen - Hasta 120Resumen - Verdadero o Falso