Learn TypeScript
A free, interactive TypeScript course built on top of JavaScript. You write TS on every lesson - type annotations, interfaces, generics, unions, narrowing - with AI hints when you get stuck and a certificate when you finish. Part of the wider JavaScript journey, so the JS context that makes TypeScript click is right there.
253,075+ codders inscritos
- Apto para principiantes
Ayuda de codificación con IA
Lecciones interactivas prácticas
Narración de audio en cada lección
Cuestionarios para poner a prueba tu conocimiento
Certificado gratuito de finalización
Programa
Esta sección forma parte del Journey de JavaScript. El programa completo tiene más secciones - haz clic en cualquier vista previa de abajo para verla en la página del Journey.
- Sección 1Fundamentos77 lecciones
- Sección 2Lógica y Flujo65 lecciones
Sección 1
Introducción a TypeScript
Empezar secciónEmpezarExpandirContraerIntroducción a TypeScript después de haber aprendido sobre JavaScriptPrimeros pasos con TS
5 lecciones232- 01¿Qué es TypeScript?Quiz
- 02¿Por qué usar TypeScript?Quiz
- 03Tu primer código en TypeScriptRetoQuiz
- 04Proceso de compilación y erroresQuiz
- 05Resumen: Introducción a TSReto
Tipos principales
7 lecciones748- 01Tipos básicos: str, num, booleanRetoQuiz
- 02El tipo 'any': Vía de escapeRetoQuiz
- 03El tipo 'unknown'RetoQuiz
- 04Trabajando con 'null' y 'undef'RetoQuiz
- 05Inferencia de tipos en acciónRetoQuiz
- 06Anotaciones de tipo explícitasRetoQuiz
- 07Resumen: Práctica de tipos principalesReto
Estructura de datos: Arrays y Tuplas
9 lecciones862- 01Arrays tipadosRetoQuiz
- 02Modificador 'readonly' para ArraysRetoQuiz
- 03¿Qué es una Tupla?Quiz
- 04Declaración y acceso a TuplasRetoQuiz
- 05Desestructuración de TuplasRetoQuiz
- 06Tuplas ReadonlyRetoQuiz
- 07Arrays tipados multidimensionalesRetoQuiz
- 08Operador Spread con ArraysRetoQuiz
- 09Resumen: Arrays y TuplasReto
Trabajando con funciones
8 lecciones855- 01Tipado de parámetros y valores de retornoRetoQuiz
- 02Tipado de funciones de flechaRetoQuiz
- 03El tipo de retorno 'void'RetoQuiz
- 04Parámetros opcionales con '?'RetoQuiz
- 05Valores de parámetros por defectoRetoQuiz
- 06Tipado de parámetros restRetoQuiz
- 07Definición de tipos de funcionesRetoQuiz
- 08Repaso: Construcción de funciones tipadasReto
Tipos: Alias, Uniones e Intersecciones
7 lecciones751- 01Alias de tipos para primitivosRetoQuiz
- 02Tipos de unión ('|')RetoQuiz
- 03Trabajando con tipos de uniónRetoQuiz
- 04Tipos literalesRetoQuiz
- 05Tipos de intersección ('&')RetoQuiz
- 06Combinando alias de tiposRetoQuiz
- 07Repaso: Combinaciones de tipos avanzadasReto
Tipado de Objetos e Interfaces
8 lecciones757- 01Anotaciones de tipo de objeto en líneaRetoQuiz
- 02Alias de tipo para objetosRetoQuiz
- 03Introducción a las interfacesRetoQuiz
- 04Interfaces vs. Alias de tipoQuiz
- 05Propiedades opcionales y ReadonlyRetoQuiz
- 06Extensión de interfaces y tiposRetoQuiz
- 07Agregar métodos a interfacesRetoQuiz
- 08Repaso: Definición de estructuras de objetosReto
Proyecto: Una lista de tareas simple
Proyecto6 lecciones18- 01Proyecto: Definir la estructura TaskRetoQuiz
- 02Función para agregar una tareaProyecto
- 03Función para cambiar el estado de la tareaProyecto
- 04Función: Listar tareas por estadoProyecto
- 05Función: Imprimir resumen de tareasProyecto
- 06Poniéndolo todo juntoProyecto
Enums
6 lecciones638- 01¿Qué es un Enum numérico?RetoQuiz
- 02Uso de Enums numéricosRetoQuiz
- 03¿Qué es un Enum de string?RetoQuiz
- 04Uso de Enums de stringRetoQuiz
- 05Enums heterogéneosRetoQuiz
- 06Resumen: Uso de EnumsReto
Genéricos: Un primer vistazo
6 lecciones537- 01El problema que resuelven los genéricosQuiz
- 02Creación de una función de identidad genéricaRetoQuiz
- 03Uso de una función genéricaRetoQuiz
- 04Arrays genéricosRetoQuiz
- 05Interfaces genéricasRetoQuiz
- 06Repaso: Práctica de funciones genéricasReto
Proyecto: Gestión de inventario
Proyecto5 lecciones18- 01Proyecto: Ítem de inventario genéricoRetoQuiz
- 02Función: Agregar ítems al inventarioProyecto
- 03Función para buscar un ítem por IDProyecto
- 04Crear un tipo de inventario específicoProyecto
- 05Función para obtener detalles del ítemProyecto
Temas avanzados
6 lecciones642- 01Aserciones de tipoRetoQuiz
- 02Guardas de tipo: in & instanceofRetoQuiz
- 03El tipo 'never'RetoQuiz
- 04Tipos anulables ('strictNull')RetoQuiz
- 05Firmas de índice para objetosRetoQuiz
- 06Resumen: Ajuste de tiposReto
- Sección 4Programación Orientada a Objetos56 lecciones
Why learn TypeScript with Coddy
- Write TypeScript in your browser. No
tscinstall, no editor setup, notsconfig.jsonto wrangle. The editor and output sit side-by-side so you see what each type does instantly. - Modern TypeScript: type annotations, interfaces, generics, union and intersection types, narrowing, utility types, and how TS layers on top of plain JavaScript without changing what runs at runtime.
- AI hints help you read TypeScript errors - the famously long ones - without spoiling the fix, so you build the mental model that makes future TS code easier to write.
- Free TypeScript certificate when you finish the section. A credible signal that you can read and write idiomatic TS, not just JavaScript with sprinkled types.
Frequently asked questions about learning TypeScript
What is TypeScript?
TypeScript is a superset of JavaScript that adds optional static typing. Valid JavaScript is valid TypeScript, but TS lets you annotate variables, function parameters, and return values with types - the compiler then catches mistakes before your code runs. At runtime, TypeScript compiles down to plain JavaScript.
Is TypeScript hard to learn?
If you're comfortable with JavaScript, the basics of TypeScript are quick to pick up - adding
: string or : number to a few variables and you're already writing TS. The trickier parts (generics, conditional types, mapped types, narrowing) take longer, and this course introduces them in small steps with hands-on examples.Do I need to know JavaScript before TypeScript?
Yes. TypeScript is JavaScript with types on top, so the language you're really learning is JS. This TypeScript section is part of the JavaScript journey for that reason - you can take the JS sections first, or jump straight to TS if you're already comfortable with modern JavaScript.
What's the difference between TypeScript and JavaScript?
JavaScript is dynamically typed - a variable can hold a string today and a number tomorrow, and you only find out at runtime. TypeScript adds a static type layer that runs at build time, catching type mismatches before the code ships. The compiled output is still plain JavaScript, so it runs anywhere JS does.
Can I learn TypeScript online for free?
Yes. The interactive TypeScript section is free - full lessons, coding exercises, quizzes, and a certificate. The editor runs in your browser with the TS compiler built in, so you don't need to install
tsc, Node, or any tooling to start writing TypeScript.Do I get a certificate after the TypeScript course?
Yes. Finishing the TypeScript section gives you a free certificate of completion you can share on LinkedIn or include on your resume. A verifiable signal that you've worked through structured, hands-on TypeScript material, not just watched tutorials.