CodeAventura
TypeScript
▸Descubriendo TypeScript▸Objetos tipados

Misión

Editor
// Crea un objeto usuario con tipo inline
// Propiedades: nombre (string), edad (number), email (string)
// y telefono (string, opcional)

let usuario = {
  nombre: "Ana",
  edad: 25,
  email: "ana@ejemplo.com",
};

console.log(usuario);

Consola
05 / 25Objetos tipados
Anterior

Objetos tipados

Definir la forma de un objeto

En TypeScript puedes describir la "forma" exacta que debe tener un objeto:

Esto dice: persona debe tener exactamente nombre (string) y edad (number). Si te falta una propiedad o sobra una, TypeScript avisa:

Propiedades opcionales

No todas las propiedades son obligatorias. Usa ? para las opcionales:

Una propiedad opcional puede ser del tipo indicado o undefined.

Propiedades de solo lectura

Si una propiedad no debería cambiar después de crearse, usa readonly:

readonly es como const pero para propiedades de objetos.

TypeScript te protege

Si intentas acceder a una propiedad que no existe, TypeScript te avisa:

En JavaScript, esto devolvería undefined silenciosamente. En TypeScript, el error te avisa antes de que sea un problema.

Objetos anidados

Los objetos pueden contener otros objetos:

Esto funciona pero se vuelve difícil de leer rápidamente. En la próxima lección veremos cómo los type aliases resuelven este problema.

El problema del tipado inline

Imagina que necesitas el mismo tipo de objeto en 5 funciones diferentes. ¿Vas a copiar { nombre: string; edad: number; email: string } cinco veces? Si añades una propiedad, tendrías que cambiarla en 5 lugares.

La solución viene en la siguiente lección: type aliases.

Tu desafío 🚀

  1. Crea un objeto usuario con tipo inline que tenga:
    • nombre (string)
    • edad (number)
    • email (string)
    • telefono (string, opcional)
  2. Imprímelo por consola

Tipar objetos es como dibujar un plano antes de construir. TypeScript verifica que tu edificio coincida con el plano.