Skip to content

Lección 73 — Tipos Básicos

TypeScript ofrece los mismos tipos primitivos que JavaScript, pero con la posibilidad de anotarlos explícitamente. Además, añade algunos tipos especiales como any, unknown, void y never.

  • string: cadenas de texto
  • number: números (enteros y decimales, todos son number)
  • boolean: true o false
  • bigint: números enteros muy grandes
  • symbol: valores únicos e inmutable
  • null y undefined: valores vacíos

Se usa la sintaxis variable: tipo:

let nombre: string = 'Ana';
let edad: number = 30;
let activo: boolean = true;

TypeScript es inteligente: si declaras una variable con un valor, infiere el tipo automáticamente.

let mensaje = 'Hola'; // TS infiere: string
let cantidad = 42; // TS infiere: number
let esValido = false; // TS infiere: boolean

No necesitas anotar el tipo si el valor inicial es claro.

// string
let ciudad: string = 'Madrid';
ciudad = 'Barcelona'; // ✅ ok
ciudad = 42; // ❌ Error: Type 'number' is not assignable to type 'string'
// number
let precio: number = 19.99;
let entero: number = 100;
// boolean
let completado: boolean = false;
// bigint (ES2020+)
let grande: bigint = 9007199254740991n;
// symbol
let id: symbol = Symbol('id');
// null y undefined
let valorNulo: null = null;
let valorIndefinido: undefined = undefined;
// Inferencia
let lenguaje = 'TypeScript'; // TS sabe que es string

Declara cinco variables con los siguientes requisitos:

  1. Una variable nombreCompleto de tipo string con tu nombre.
  2. Una variable añoNacimiento de tipo number.
  3. Una variable esEstudiante de tipo boolean.
  4. Una variable idUnico de tipo symbol.
  5. Una variable saldo donde TypeScript infiera que es number (asigna 0).

Intenta reasignar nombreCompleto a un número y observa el error del compilador.

En TypeScript, null y undefined tienen sus propios tipos. Con strictNullChecks activado (recomendado), no puedes asignar null a una variable de tipo string. Debes usar tipos unión: string | null.

Usa typeof en tiempo de ejecución para depurar, pero recuerda que el tipado de TS desaparece en la compilación. Los tipos son solo una herramienta en tiempo de desarrollo.