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; // Es verdadero, porque el booleano false se convierte al número 0 antes de la comparaciónlet c = "" == false; // Es verdadero, porque la cadena vacía 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 y mostrar los resultados:
- Comprueba si
aes vagamente igual aby guarda el resultado end. - Comprueba si
aes estrictamente igual acy guarda el resultado ene. - Comprueba si
bes vagamente 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.
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