Coerción de tipos en JavaScript explicada

Clase 9 de 39Curso de Fundamentos de JavaScript

Resumen

Domina la coerción de tipos en JavaScript para evitar errores al combinar string, números y booleanos. Aquí verás, con ejemplos claros, cuándo ocurre la coerción implícita y cómo aplicar conversión explícita con Number, parseInt, parseFloat, String y Boolean para que tus operaciones sean seguras, sobre todo cuando recibes datos de formularios.

¿Qué es la coerción de tipos en JavaScript y por qué importa?

La coerción sucede cuando JavaScript convierte automáticamente un valor de un tipo a otro según el contexto. Es útil, pero puede romper el flujo si no la entiendes, en especial con entradas de usuario que llegan como string desde un formulario.

  • La coerción implícita ocurre sin pedir permiso y puede sorprenderte.
  • El operador + con string y número hace concatenación, no suma.
  • El operador - intenta convertir el string a número para operar.
  • Ejemplos con booleanos pueden devolver resultados no intuitivos si no conviertes antes.

¿Cómo funciona la coerción implícita con operadores en JavaScript?

En expresiones mixtas, JavaScript decide cómo convertir los tipos según el operador. Esto explica por qué a veces obtienes concatenación y otras una operación aritmética.

¿Qué hace el operador más con string y número?

console.log('5' + 3); // '53'
  • Con un string presente, + convierte el número a string.
  • Resultado: concatenación, no suma.

¿Por qué menos convierte string a número?

console.log('5' - 3); // 2
  • El operador - fuerza la conversión del string a número.
  • Resultado: resta aritmética correcta.

¿Cómo trata JavaScript los booleanos en operaciones numéricas?

console.log(true + 1); // 2
  • JavaScript intenta sumar y convierte el valor para que la operación tenga sentido.
  • El resultado puede parecer extraño si no controlas el tipo antes.

  • Consejos rápidos.

  • Verifica tipos con typeof antes de operar.
  • Convierte entradas de formularios a números si vas a sumar o restar.
  • Prueba expresiones en console.log para confirmar el comportamiento.

¿Cómo aplicar conversión explícita para evitar errores?

La conversión explícita te da control total sobre el tipo de dato. Úsala antes de operar con valores que provienen del usuario o de fuentes externas como tu carpeta source o el editor.

¿Cómo convertir string a número con Number?

const str = '42';
const num = Number(str);
console.log(typeof num, num); // 'number', 42
  • Usar Number(...) convierte el string a número.
  • Ya puedes sumar o restar sin sorpresas.

¿Cuándo usar parseInt y parseFloat?

const int = parseInt('42', 10);
console.log(int); // 42

const float = parseFloat('3.1415');
console.log(float); // 3.1415
  • parseInt(valor, 10) convierte a entero en base 10.
  • parseFloat(...) obtiene un número con decimales.

¿Cómo convertir a string y a boolean?

const texto = String(123);
console.log(texto, typeof texto); // '123', 'string'

const bool = Boolean(1);
console.log(bool); // true
  • String(...) transforma números a texto.
  • Boolean(...) crea un valor booleano desde números u otros tipos.

  • Buenas prácticas.

  • Prefiere conversión explícita antes de operar.
  • Evita ambigüedades del operador + con string involucrados.
  • Usa typeof y console.log para validar tipo y valor.

¿Listo para ponerlo en práctica? Comparte tu reto: toma entradas como '5', '42' o true, conviértelas explícitamente y muestra el resultado esperado en consola. Cuéntanos tu solución en los comentarios.

      Coerción de tipos en JavaScript explicada