Skip to content

Lección 06: Tipos de Datos

JavaScript tiene tipos de datos primitivos que son los bloques básicos para construir programas. A diferencia de otros lenguajes, JavaScript es de tipado dinámico: una variable puede cambiar de tipo en cualquier momento.

1. string (cadena de texto) Representa texto. Se escribe entre comillas simples, dobles o backticks.

let saludo = 'Hola';
let nombre = "Ana";
let frase = `Ella dijo "hola"`;

2. number (número) Tanto enteros como decimales. No hay distinción entre int y float.

let entero = 42;
let decimal = 3.1416;
let negativo = -10;

3. boolean (booleano) Solo dos valores: true o false.

let activo = true;
let completado = false;

4. undefined Una variable declarada pero sin valor asignado.

let algo;
console.log(algo); // undefined

5. null Representa la ausencia intencional de valor.

let vacio = null;

6. symbol (Símbolo) Valor único e inmutable, usado como identificador.

let id = Symbol('id');

7. bigint Números enteros muy grandes (más de 2^53).

let grande = 123456789012345678901234567890n;

typeof nos dice el tipo de un valor:

console.log(typeof 'Hola'); // string
console.log(typeof 42); // number
console.log(typeof true); // boolean
console.log(typeof undefined); // undefined
console.log(typeof null); // object (¡esto es un error histórico!)
console.log(typeof Symbol()); // symbol
console.log(typeof 10n); // bigint
let nombre = 'Carlos';
let edad = 30;
let esMayor = true;
let direccion; // undefined
let telefono = null; // null
console.log('nombre:', nombre, '- tipo:', typeof nombre);
console.log('edad:', edad, '- tipo:', typeof edad);
console.log('esMayor:', esMayor, '- tipo:', typeof esMayor);
console.log('direccion:', direccion, '- tipo:', typeof direccion);
console.log('telefono:', telefono, '- tipo:', typeof telefono);
  1. Crea un archivo tipos-datos.js.
  2. Declara una variable de cada tipo primitivo.
  3. Imprime cada variable junto con su tipo usando typeof.

Ejemplo de lo que debes hacer:

let texto = 'JavaScript';
let numero = 2025;
let verdad = true;
let indefinido;
let nulo = null;
let simbolo = Symbol('test');
let grande = 9007199254740991n;
console.log(texto, typeof texto);
console.log(numero, typeof numero);
console.log(verdad, typeof verdad);
console.log(indefinido, typeof indefinido);
console.log(nulo, typeof nulo);
console.log(simbolo, typeof simbolo);
console.log(grande, typeof grande);

typeof null devuelve "object" — esto es un error conocido en JavaScript desde su creación que no se puede corregir porque rompería demasiado código existente. Recuerda que null NO es un objeto, es un primitivo.

Las variables en JavaScript no tienen tipo fijo. Una misma variable puede contener un string hoy y un número mañana:

let dato = 'texto';
console.log(typeof dato); // string
dato = 42;
console.log(typeof dato); // number

Esto se llama tipado dinámico y es flexible, pero puede causar errores si no tienes cuidado.