Lección 73 — Tipos Básicos
🧠 Concepto
Section titled “🧠 Concepto”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.
Tipos primitivos principales
Section titled “Tipos primitivos principales”string: cadenas de textonumber: números (enteros y decimales, todos sonnumber)boolean:trueofalsebigint: números enteros muy grandessymbol: valores únicos e inmutablenullyundefined: valores vacíos
Anotaciones explícitas
Section titled “Anotaciones explícitas”Se usa la sintaxis variable: tipo:
let nombre: string = 'Ana';let edad: number = 30;let activo: boolean = true;Inferencia de tipos
Section titled “Inferencia de tipos”TypeScript es inteligente: si declaras una variable con un valor, infiere el tipo automáticamente.
let mensaje = 'Hola'; // TS infiere: stringlet cantidad = 42; // TS infiere: numberlet esValido = false; // TS infiere: booleanNo necesitas anotar el tipo si el valor inicial es claro.
💻 Ejemplo
Section titled “💻 Ejemplo”// stringlet ciudad: string = 'Madrid';ciudad = 'Barcelona'; // ✅ okciudad = 42; // ❌ Error: Type 'number' is not assignable to type 'string'
// numberlet precio: number = 19.99;let entero: number = 100;
// booleanlet completado: boolean = false;
// bigint (ES2020+)let grande: bigint = 9007199254740991n;
// symbollet id: symbol = Symbol('id');
// null y undefinedlet valorNulo: null = null;let valorIndefinido: undefined = undefined;
// Inferencialet lenguaje = 'TypeScript'; // TS sabe que es string📝 Ejercicio
Section titled “📝 Ejercicio”Declara cinco variables con los siguientes requisitos:
- Una variable
nombreCompletode tipostringcon tu nombre. - Una variable
añoNacimientode tiponumber. - Una variable
esEstudiantede tipoboolean. - Una variable
idUnicode tiposymbol. - Una variable
saldodonde TypeScript infiera que esnumber(asigna 0).
Intenta reasignar nombreCompleto a un número y observa el error del compilador.
⚠️ Nota
Section titled “⚠️ Nota”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.