¿Cuáles son los tipos de datos utilizados en JavaScript?

¿Cuáles son los tipos de datos utilizados en JavaScript?

Recuerdo la primera vez que un simple "5" + 3 me devolvió "53" en vez de 8. ¿Magia? No, solo JavaScript siendo JavaScript. Como desarrolladores, amamos su flexibilidad, pero esa misma libertad puede convertirse en una pesadilla si no entendemos cómo maneja los datos. Hoy, desentrañaremos los tipos de datos en JavaScript, no desde un manual técnico, sino desde la experiencia de quien ha debugueado horas por un undefined o un NaN.

1. Primitivos vs. Objetos: La Batalla Entre lo Simple y lo Complejo

Imagina que los tipos primitivos son como ladrillos: sólidos, inmutables y predecibles. En cambio, los objetos son como arcilla: los moldeas, pero un cambio inesperado puede arruinar tu escultura.

¿Qué son los Primitivos?

  • 7 tipos básicos: stringnumberbooleannullundefinedsymbol y bigint.
  • Inmutables: Si modificas un primitivo, en realidad creas uno nuevo. Es como romper un ladrillo para hacerlo más pequeño.

Ejemplo cotidiano:
Si tienes un mensaje let saludo = "Hola" y haces saludo = saludo + " Mundo", no estás cambiando el «Hola» original. JavaScript crea un nuevo string en memoria.

Objetos: El Caos Controlado

Los objetos (incluyendo arrays y funciones) son mutables. Si copias una variable de objeto, en realidad copias una referencia, no el valor. Es como darle a alguien las llaves de tu casa: si mueven los muebles, tú lo verás también.

La clásica trampa:

javascript

let listaOriginal = [1, 2];  
let copia = listaOriginal;  
copia.push(3);  
console.log(listaOriginal); // [1, 2, 3] → ¡Sorprendió a alguien!  

2. Coerción de Tipos: El Arte de Convertir sin Pedir Permiso

JavaScript es como ese amigo que intenta «ayudar» sin preguntar. Si sumas un número y un string, asumirá que quieres concatenarlos. ¿Útil? A veces. ¿Peligroso? Siempre.

Coerción Implícita: Cuando JS Toma el Volante

  • "5" + 3 = "53" → Concatena como string.
  • "10" - 2 = 8 → Convierte el string a número.
  • if ("Hola") { ... } → Evalúa como true (los strings no vacíos son «truthy»).

El caso más odiado:

javascript

console.log([] == ![]); // true → ¿¡Cómo!?  

Aquí, JavaScript convierte ambos lados a números tras una serie de reglas confusas. Por eso, nunca uses == con tipos mixtos.

Coerción Explícita: Tú Tienes el Control

Usa funciones como Number()String() o Boolean() para evitar sorpresas:

javascript

let input = "123";  
let numero = Number(input); // 123 (número)  

3. Null vs. Undefined: El Dúo Dinámico de la Confusión

  • undefined: «No te preocupes, JS ya lo asignó por ti». Ocurre cuando una variable no tiene valor.
  • null: «Yo decidí que esto no tenga valor». Es una asignación intencional.

En la práctica:

  • Si un usuario no ha seleccionado país en un formulario, podrías usar null para indicar ausencia deliberada.
  • Si olvidas inicializar una variable, JS te dará undefined como regalo no deseado.

4. Mutabilidad: ¿Por Qué Mi Array Cambió sin Permiso?

Los objetos son como compartir una playlist en Spotify: si alguien agrega una canción, todos la ven. Esto causa errores comunes, especialmente con copias superficiales.

Consejo de oro:
Para copiar un array sin afectar el original, usa [...array] o array.slice():

javascript

let original = [1, 2];  
let copiaSegura = [...original];  
copiaSegura.push(3); // Original sigue siendo [1, 2]  

5. Cómo No Perder la Cabeza con los Tipos de Datos

  1. Usa === siempre: Olvida == a menos que disfrutes los bugs.
  2. Inicializa variables: Si no hay valor, asigna null explícitamente.
  3. TypeScript es tu amigo: Si trabajas en equipo o en proyectos grandes, añade tipado estático.
  4. Conoce los «falsy»: 0""nullundefinedNaN, y false se evalúan como false.

Ejemplo real:
¿Alguna vez has tenido un 0 que desaparece en un condicional?

javascript

let puntaje = 0;  
if (puntaje) {  
  // Esto no se ejecuta, ¡porque 0 es "falsy"!  
}  

Solución: Usa if (puntaje !== undefined) para casos específicos.

Más Allá de los Tipos

Entender los tipos de datos en JavaScript no es solo teoría: es evitar noches de debugging frustrantes. La próxima vez que un NaN aparezca en tu consola, o un array se modifique misteriosamente, recuerda: todo tiene su razón de ser en el caótico orden de JavaScript.

¿Quieres dominar estos conceptos? Practica con desafíos reales, como construir una calculadora que maneje strings y números, o un formulario que valide tipos de entrada. La experiencia, al final, es la mejor maestra.

¿Te ha pasado? Comenta tu error más memorable con tipos de datos en JavaScript. ¡Aprendamos de los tropiezos ajenos!

Este artículo está escrito desde las cicatrices de experiencia propia, diseñado para ayudarte a evitar errores comunes. Si te sirvió, compártelo con ese compañero que sigue luchando contra undefined. 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Logo master code pro
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Puedes ver mas detalle en nuestra pagina de privacidad