¿Cuáles son los tipos de datos en JavaScript y cómo funcionan?

| Última modificación: 4 de febrero de 2025 | Tiempo de Lectura: 4 minutos

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.

tipos de datos en JavaScript cuáles son

¿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 WeakSetColecciones 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!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado

Conviértete en Full Stack Deeveloper en solo 10 meses. Accede a un sector con el 98,49% de empleabilidad con sueldos de hasta 80K.