Los tipos de datos en JavaScript son el equivalente a tener una caja de herramientas. Resulta que cada uno tiene un propósito específico: unos guardan números, otros texto, algunos representan valores booleanos, y otros son estructuras más complejas como objetos y arreglos.
Hoy quiero mostrarte cómo funcionan realmente estos tipos de datos en JavaScript y cómo puedes usarlos en la práctica, porque es cierto que muchos hablan del tema, pero pocos te lo enseñan como debe ser.
¿Qué son los tipos de datos en JavaScript?
Los tipos de datos en JavaScript son como etiquetas que le dicen al navegador o al intérprete qué tipo de información está guardando una variable. Básicamente, definen cómo se almacenan los valores en la memoria y qué se puede hacer con ellos.
- Por ejemplo, algunos valores pueden usarse en cálculos matemáticos, mientras que otros solo sirven para manejar texto.
Tipos de datos en JavaScript
Tipos de datos primitivos (almacenan valores directamente)
Ten en cuenta que los primitivos son inmutables y se almacenan en la pila de memoria (stack).
Number – Para números enteros y decimales
El tipo Number se usa para representar valores numéricos, incluyendo enteros y decimales. También incluye valores especiales como Infinity, -Infinity y NaN.
Ejemplo: Suma de dos números
let a = 10;
let b = 5;
let resultado = a + b;
console.log(resultado); // 15
Úsalo para cálculos matemáticos, precios en una tienda, operaciones con fechas, etc.
String – Para representar texto
El tipo String se usa para almacenar cadenas de texto. Se pueden definir con comillas simples ('
), dobles ("
) o backticks (`
) para plantillas de texto dinámico.
Ejemplo: Concatenación de cadenas
let nombre = "Juan";
let saludo = "Hola, " + nombre + "! ¿Cómo estás?";
console.log(saludo); // "Hola, Juan! ¿Cómo estás?"
Te sirve para mostrar mensajes en pantalla, almacenar nombres, construir textos dinámicos, etc.
Boolean – Para valores verdadero o falso
Los valores true y false se usan en lógica condicional y controles de flujo.
Ejemplo: Verificar si un número es mayor a otro
let edad = 20;
let esMayor = edad >= 18;
console.log(esMayor); // true
Es más que todo para decisiones en código como validar acceso a un sitio web o mostrar mensajes condicionales.
Null – Para representar ausencia de valor
El valor null indica que una variable intencionalmente no tiene valor.
Ejemplo: Variable sin valor definido aún
let usuario = null;
console.log(usuario); // null
Con él puedes indicar que un dato aún no está disponible o que fue eliminado.
Undefined – Para variables no inicializadas
El valor undefined se asigna automáticamente a las variables que no han sido inicializadas.
Ejemplo: Variable sin asignar valor
let precio;
console.log(precio); // undefined
Te lo recomiendo para verificar si una variable fue definida o no.
BigInt – Para números extremadamente grandes
El tipo BigInt permite almacenar números mayores al límite de Number. Se define agregando n
al final del número.
Ejemplo: Operaciones con números grandes
let numeroGrande = 9007199254740991n;
let otroNumeroGrande = numeroGrande + 1n;
console.log(otroNumeroGrande); // 9007199254740992n
Sirve para cálculos financieros, criptografía o cualquier dato que necesite precisión extrema.
Symbol – Para crear valores únicos
El tipo Symbol se usa para generar identificadores únicos, útiles para definir claves en objetos sin riesgo de colisión.
Ejemplo: Crear un símbolo único
let id = Symbol("identificador");
console.log(id); // Symbol(identificador)
Úsalo para definir claves en objetos sin riesgo de sobreescritura.
Tipos de datos de referencia (almacenan una referencia a los datos)
No olvides que los de referencia se almacenan en el heap o montículo de memoria y que las variables contienen una referencia a su ubicación en memoria.
Object – Para almacenar datos estructurados
El tipo Object permite agrupar datos en pares clave-valor.
Ejemplo: Crear un objeto con información de un usuario
let persona = {
nombre: "Ana",
edad: 25,
ciudad: "Madrid"
};
console.log(persona.nombre); // "Ana"
Es muy bueno para representar entidades como usuarios, productos o configuraciones.
Function – Para definir bloques reutilizables de código
Las funciones permiten encapsular lógica reutilizable dentro de una aplicación.
Ejemplo: Función para sumar dos números
function sumar(a, b) {
return a + b;
}
console.log(sumar(3, 7)); // 10
Son excelentes para estructurar código de forma modular y reutilizable.
Array – Listas ordenadas de valores
Un Array es una estructura que permite almacenar múltiples valores en una misma variable.
Ejemplo: Crear y recorrer un array
let frutas = ["Manzana", "Banana", "Naranja"];
console.log(frutas[1]); // "Banana"
Úsalo cuando quieras manejar listas de datos, como productos en una tienda o usuarios registrados.
Map – Estructura clave-valor avanzada
A diferencia de un Object, Map permite claves de cualquier tipo y mantiene el orden de inserción.
Ejemplo: Crear y acceder a un Map
let usuario = new Map();
usuario.set("nombre", "Carlos");
usuario.set("edad", 30);
console.log(usuario.get("nombre")); // "Carlos"
Te sirve para almacenar datos clave-valor sin las limitaciones de los objetos.
Set – Conjunto de valores únicos
Un Set es una colección de valores sin duplicados.
Ejemplo: Agregar valores únicos a un Set
let numeros = new Set([1, 2, 3, 3, 4, 4]);
console.log(numeros.size); // 4 (los duplicados se eliminan)
Los he usado mucho para almacenar listas de valores sin repetición, como etiquetas o identificadores únicos.
WeakMap y WeakSet – Colecciones con referencias débiles
Los WeakMap y WeakSet funcionan como Map y Set, pero permiten que los valores sean recolectados por el garbage collector cuando ya no se usan.
Ejemplo: Crear un WeakMap
let wm = new WeakMap();
let obj = {};
wm.set(obj, "Información privada");
console.log(wm.get(obj)); // "Información privada"
Se usan más que todo para manejar datos temporales sin evitar la recolección de memoria en objetos dinámicos.
Inscríbete a nuestro Bootcamp de Desarrollo Web creado por KeepCoding, donde te explicaremos cómo usar los tipos de datos en JavaScript en la vida real y así estarás mejor preparado para desempeñarte en el mundo laboral. ¡Únete ahora!