JavaScript · Sección 12

TypeScript: tipos y estados válidos

Tipos estructurales, inferencia, uniones, narrowing, interfaces y configuración estricta para hacer explícitos los contratos.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Necesitas funciones, objetos, arrays y módulos de JavaScript. jQuery no es un requisito para comenzar TypeScript.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Tipos e inferencia con Uniones y narrowing y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.

04 / PREPARA EL LABORATORIO

Utiliza un navegador con herramientas de desarrollo y una versión LTS de Node.js con npm. Angular y MongoDB se preparan cuando llegues a esos bloques.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Tipos e inferencia y Uniones y narrowing? +

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Usarás TypeScript para modelar estados válidos y reducir errores, entendiendo que los tipos se eliminan al ejecutar.

Al terminar podrás
  • TypeScript describe JavaScript antes de ejecutarlo
  • Una unión modela alternativas; una discriminante permite agotarlas
  • Interfaces y alias expresan contratos estructurales
01
Comprobación estática

TypeScript describe JavaScript antes de ejecutarlo

El compilador comprueba tipos y emite JavaScript; no valida automáticamente datos de red o archivos en tiempo de ejecución. La inferencia evita anotaciones redundantes. Activar strict hace visibles ausencias y conversiones que de otro modo aparecerían tarde.

01

Los tipos no existen en el JavaScript emitido.

02

Anota fronteras públicas, deja inferir variables locales claras.

03

unknown exige comprobar antes de usar; any desactiva protección.

Comprueba lo aprendido · 01

¿Una interface valida por sí sola la respuesta de una API?

Mostrar respuesta +

No. Solo ayuda durante compilación. Los datos externos requieren validación en tiempo de ejecución.

02
Uniones y narrowing

Una unión modela alternativas; una discriminante permite agotarlas

Los tipos literales y las uniones expresan estados válidos. typeof, instanceof, in y predicados personalizados estrechan el tipo. Una unión discriminada evita combinaciones como cargando y error simultáneamente y permite comprobar que switch cubra todos los casos.

01

Prefiere estados explícitos a muchos booleanos.

02

Narrowing conecta una prueba con el tipo.

03

never ayuda a detectar un caso nuevo no atendido.

Comprueba lo aprendido · 02

¿Qué problema evita una unión discriminada frente a tres booleanos?

Mostrar respuesta +

Impide representar combinaciones contradictorias y obliga a manejar cada alternativa explícita.

03
Formas de objetos

Interfaces y alias expresan contratos estructurales

TypeScript compara principalmente la forma disponible, no el nombre del tipo. interface resulta cómoda para contratos extensibles de objetos; type también representa uniones, primitivas y composiciones. Propiedades readonly protegen contra asignación por el compilador, pero no congelan el objeto en ejecución.

01

Una propiedad opcional puede estar ausente.

02

readonly no implica inmutabilidad profunda.

03

Evita duplicar el mismo dominio en tipos incompatibles.

Comprueba lo aprendido · 03

¿Una clase debe declarar implements para ser compatible con una interfaz?

Mostrar respuesta +

No necesariamente. Por tipado estructural, basta con que tenga la forma requerida, aunque implements documenta y comprueba la intención.

Resumen de la sección

Tu recorrido en tres ideas

  1. TypeScript describe JavaScript antes de ejecutarlo
  2. Una unión modela alternativas; una discriminante permite agotarlas
  3. Interfaces y alias expresan contratos estructurales
CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Usar any para silenciar un modelo que no se entiende.

ERROR 02

Creer que una interface valida JSON durante la ejecución.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Modela carga, éxito, vacío y error de una API mediante una unión discriminada y valida una respuesta unknown.

Mostrar pauta de corrección +
Una respuesta sólida:
  • No existen combinaciones de estado imposibles.
  • El narrowing cubre todas las variantes.
  • La entrada externa se valida antes de confiar.