Coerción de tipos: patrones seguros para evitar sorpresas
Comprenda la coerción implícita y explícita; prefiera conversiones claras con Number/String/Boolean y gestione NaN de forma segura.
Coerción de tipos: patrones seguros para evitar sorpresas es una lección gratuita de JavaScript Academy en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de JavaScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de JavaScript Academy incluye 3 lecciones en total.
Introducción
Objetivo: Comprenda cuándo JavaScript convierte los tipos, qué resultados produce y cómo utilizar conversiones explícitas para mantener un comportamiento predecible.
- Conversión implícita frente a explícita
- Number/String/Boolean
- Seguridad con NaN

Demostración de conversión implícita
+ con una cadena activa la concatenación; - y * intentan realizar una conversión numérica.
// Implicit coercion can surprise beginners
console.log("5" + 1);
// "51" (string concatenation)
console.log(5 + "1");
// "51" (number -> string)
console.log("5" - 1);
// 4 (string -> number)
console.log("5" * 2);
// 10 (string -> number)

Conversiones explícitas
Utilice Number(x), String(x) y Boolean(x) para que el código sea claro.
// Prefer explicit, readable casts
const n = Number("42");
// 42
const s = String(42);
// "42"
const t = Boolean("hi");
// true (non-empty string)
const f = Boolean("");
// false (empty string)
console.log(n, s, t, f);

Number frente a parseInt
Number(x) requiere una cadena completamente numérica; parseInt analiza únicamente los dígitos iniciales.
// Number vs parseInt with examples
console.log(Number("42"));
// 42 (full string must be numeric)
console.log(parseInt("42", 10));
// 42
console.log(parseInt("42px", 10));
// 42 (stops at non-digit)
console.log(Number("42px"));
// NaN (not a pure number)

Comprobaciones de NaN
Utilice Number.isNaN para comprobar NaN sin conversiones adicionales.
// NaN is "Not a Number" and is not equal to itself
const bad = Number("oops");
// NaN
console.log(bad === NaN);
// false
console.log(Number.isNaN(bad));
// true (use this)
console.log(isNaN("5"));
// false (string coerces to number 5)

Lista de comprobación de seguridad
Patrones seguros:
- Prefiera === y las conversiones explícitas.
- Utilice Number(x) para cadenas numéricas; evite los trucos ingeniosos.
- Valide las entradas; compruebe Number.isNaN después del análisis.

Cuestionario sobre conversión explícita
Comprobación rápida: conversión numérica explícita.

Repaso
Repaso: La conversión implícita puede producir sorpresas. Prefiera las conversiones explícitas con Number/String/Boolean y utilice Number.isNaN cuando sea necesario.

Preguntas frecuentes
¿La lección «Coerción de tipos: patrones seguros para evitar sorpresas» es gratis?
Sí — el texto completo de «Coerción de tipos: patrones seguros para evitar sorpresas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de JavaScript Academy, actualiza a CoddyKit PRO. El curso de JavaScript Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Coerción de tipos: patrones seguros para evitar sorpresas»?
Comprenda la coerción implícita y explícita; prefiera conversiones claras con Number/String/Boolean y gestione NaN de forma segura. Practicas JavaScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar JavaScript Academy?
No se requiere experiencia previa. JavaScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.
¿Cuánto tiempo toma la lección «Coerción de tipos: patrones seguros para evitar sorpresas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de JavaScript Academy?
Sí. Cada lección de JavaScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Primitivos frente a objetos y tipos principales
- typeof, truthy/falsy y == frente a ===
- Coerción de tipos: patrones seguros para evitar sorpresas