Guía Completa de Tipos de Datos en JavaScript: Cómo y Cuándo Utilizarlos
Descubre todos los tipos de datos en JavaScript, sus diferencias, usos y mejores prácticas. Aprende a evitar errores comunes y a escribir código más robusto.

¿Sabías que entender los tipos de datos en JavaScript es clave para evitar bugs y escribir código profesional?
¿Qué son los tipos de datos en JavaScript?
Los tipos de datos determinan qué valores puede almacenar una variable y qué operaciones puedes realizar con ellos. JavaScript es un lenguaje de tipado dinámico, pero conocer los tipos es fundamental para evitar errores.
Tipos de datos primitivos
-
String
- Texto entre comillas simples, dobles o backticks.
- Ejemplo:
let nombre = "Ana"; let saludo = `Hola, ${nombre}!`;
-
Number
- Números enteros y decimales.
- Ejemplo:
let edad = 30; let precio = 19.99;
-
Boolean
- Solo puede ser
true
ofalse
. - Ejemplo:
let esActivo = true; let esMayor = edad > 18;
- Solo puede ser
-
Undefined
- Valor por defecto de una variable no inicializada.
- Ejemplo:
let x; console.log(x); // undefined
-
Null
- Representa ausencia intencional de valor.
- Ejemplo:
let usuario = null;
-
Symbol
- Identificadores únicos, útiles para propiedades de objetos.
- Ejemplo:
let id = Symbol("id");
-
BigInt
- Números enteros muy grandes.
- Ejemplo:
let big = 1234567890123456789012345678901234567890n;
Tipos de datos estructurados (objetos)
-
Object
- Colección de pares clave-valor.
- Ejemplo:
let persona = { nombre: "Ana", edad: 30 };
-
Array
- Lista ordenada de elementos.
- Ejemplo:
let frutas = ["Manzana", "Banana", "Naranja"];
-
Function
- Las funciones también son objetos en JavaScript.
- Ejemplo:
function saludar() { console.log("Hola!"); }
¿Cómo saber el tipo de una variable?
Usa el operador typeof
:
console.log(typeof 42); // "number"
console.log(typeof "hola"); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object" (curiosidad histórica)
console.log(typeof Symbol("id")); // "symbol"
console.log(typeof [1,2,3]); // "object"
console.log(typeof function(){}); // "function"
Conversión de tipos (coerción)
JavaScript convierte tipos automáticamente en muchas operaciones:
console.log("5" + 2); // "52" (string)
console.log("5" - 2); // 3 (number)
console.log(1 + true); // 2
console.log(false + "hola"); // "falsehola"
Usa Number()
, String()
, Boolean()
para conversiones explícitas:
let n = Number("123"); // 123
let s = String(123); // "123"
let b = Boolean(0); // false
Buenas prácticas y errores comunes
- Usa siempre
===
en vez de==
para comparar valores y tipos. - No confíes en el tipo de
null
(typeof null
es “object”). - Usa
Array.isArray()
para verificar si una variable es un array. - No mezcles tipos en operaciones aritméticas o lógicas.
Ejemplo práctico: Validación de tipos
function sumar(a, b) {
if (typeof a !== "number" || typeof b !== "number") {
throw new Error("Ambos argumentos deben ser números");
}
return a + b;
}
console.log(sumar(2, 3)); // 5
console.log(sumar("2", 3)); // Error
Tabla resumen de tipos de datos
Tipo | Ejemplo | typeof |
---|---|---|
String | ”Hola" | "string” |
Number | 42, 3.14 | ”number” |
Boolean | true, false | ”boolean” |
Undefined | undefined | ”undefined” |
Null | null | ”object” |
Symbol | Symbol(“id”) | “symbol” |
BigInt | 123n | ”bigint” |
Object | {a:1}, [1,2,3], func | ”object”/“function” |
Recursos útiles
¿Listo para dominar los tipos de datos en JavaScript?
¡Con este conocimiento, tu código será más robusto y libre de errores!