Understanding TypeScript
Boost your JavaScript projects with TypeScript: Learn all about core types, generics, TypeScript + React or Node & more!
Lo que serás capaz de hacer
March 2025: BIG COURSE UPDATE Re-recorded large parts of the course to cover missing TypeScript concepts (e.g., "satisfies"), improve explanations and add extra examples & demo projects. Added more than 10h of new content! --- Learn what TypeScript is, why it really is a powerful addition to JavaScript , what its features are and how to use it! Learn why TypeScript is amazing, how it improves your JavaScript code and how it helps you avoid nasty bugs and errors! This course takes you from the very basics and its most important feature (types!) to the point where you're able to use TypeScript in any of your projects . ReactJS projects included! As TypeScript is developed by Microsoft and strongly advertised and used by Angular 2+ (Google) and other popular libraries , it's here to stay . Indeed, TypeScript is one of the most popular web development languages you can learn these days! Gain an edge today and be amongst the first to really understand TypeScript! Learn how you can use TypeScript to bring modern JS features like destructuring, arrow functions or classes to any environment and codebase - even if it does not support those features yet! Understand which types you may use and how you can build your own types. Learn how to write better code with types and with the many features offered by TypeScript! But, in this course, we'll not stop after the basics ! You will also learn about more advanced features (like decorators) and also how to set up workflows with TypeScript . This includes a TypeScript-only workflow as well as a webpack workflow . You'll also learn that you're not limited to Angular or plain JavaScript/ TypeScript projects. Instead, a complete module covers how you may use TypeScript with ReactJS and improve your React code with TypeScript as well. Practice what you learn! Watching videos is a great way to learn. And to a lot of students, it's the best way. If you also want to practice the things you learn, this course offers you more than that though. Because this course comes with plenty of exercises (and solutions, of course) in addition to all the high-quality learning videos. So much Content! I'm not a fan of these courses which teach you the basics and then leave you alone. That's why in this course you'll get insights into: Types and how to use them How the TypeScript compiler works (and how you may configure it) ES6 features with TypeScript Advanced TypeScript Features like "infer", Mapped Types, Constant Types & Much More! Classes in TypeScript Namespaces and modules Interfaces Generics Decorators How to integrate Third-Party JavaScript libraries like Zod into your TypeScript projects How to set up a TypeScript project with Webpack Or how to set up a plain-TypeScript workflow How to use TypeScript together with ReactJS How to use TypeScript together with Node/ Express (incl. native Node.js TypeScript support) Real projects and use-cases! And so much more!
- Use TypeScript and its Features like Types, ES6 Support, Classes, Modules, Interfaces and much more in any of their Projects
- Understand what TypeScript really is about and how it works
- Why TypeScript offers a real advantage over vanilla JavaScript
- Learn about basic and advanced features (e.g., "infer", "as const", "satisfies" & much more!)
- Explore Classes, Interfaces, Generic Types, Derived Types & Other Crucial Concepts
- Learn TypeScript both in theory as well as applied to real use-cases and projects
Temario
UNIDAD 1 - Getting Started · 9 leccionesUNIDAD 1 - Getting Started
UNIDAD 1 - Getting Started
- Welcome to the Course!
- What Is TypeScript?
- Why Would You Use TypeScript?
- Join Our Learning Community
- Installing & Using TypeScript
- Editor & Project Setup
- About This Course
- How To Get The Most Out Of The Course
- Course Setup & Course Code
UNIDAD 2 - TypeScript Basics & Basic Types · 30 leccionesUNIDAD 2 - TypeScript Basics & Basic Types
UNIDAD 2 - TypeScript Basics & Basic Types
- Module Introduction
- Using Node.js To Run JavaScript Code
- Project Setup
- Working with Types & Exploring Built-in Types
- Vanilla JavaScript Has Types, Too!
- Type Inference vs Type Assignment
- Assigning Types To Function Parameters
- The "any" Type
- Understanding Union Types
- Arrays & Types
- Advanced Array Types
- A First Glimpse At Generic Types - Alternative Array Type Declaration
- Making Sense of Tuples
- Object Types
- Tricky: The "Must Not Be Null" Type
- Flexible Objects with the Record Type
- Working with Enums
- Being Specific With Literal Types
- Type Aliases & Custom Types
- Function Return Value Types
- The "void" Type
- The "never" Type
- Functions As Types
- null & undefined - Special Types
- Inferred null & A First Look At Type Narrowing
- Forced "Not Null" And Optional Chaining
- Type Casting
- The "unknown" Type
- Optional Values & TypeScript
- Nullish Coalescing
UNIDAD 3 - The TypeScript Compiler (and its Configuration) · 10 leccionesUNIDAD 3 - The TypeScript Compiler (and its Configuration)
UNIDAD 3 - The TypeScript Compiler (and its Configuration)
- Module Introduction
- TypeScript Project Setup & Creating a tsconfig.json File
- Exploring tsconfig Options: Target & Libs
- Controlling File Input & Emission
- Configuring Type Checking
- Configuring Code Quality Checks
- Example tsconfig.json & Deep Dive
- Compiling with tsconfig
- Using TypeScript's Watch Mode
- Installing Type Packages
UNIDAD 4 - TypeScript Essentials Demo Project · 8 leccionesUNIDAD 4 - TypeScript Essentials Demo Project
UNIDAD 4 - TypeScript Essentials Demo Project
- Module Introduction
- Using Node.js To Run Compiled JS Code
- Getting Started & First Steps
- Creating a First Custom Type
- Defining a Function with a Union Type Return Value
- Adding Application Logic
- Connecting Functions & Passing Values
- Compilation & Execution
UNIDAD 5 - Next-generation JavaScript & TypeScript · 9 leccionesUNIDAD 5 - Next-generation JavaScript & TypeScript
UNIDAD 5 - Next-generation JavaScript & TypeScript
- Module Introduction
- "let" and "const"
- Arrow Functions
- Default Function Parameters
- The Spread Operator (...)
- Rest Parameters
- Array & Object Destructuring
- How Code Gets Compiled & Wrap Up
- Useful Resources & Links
UNIDAD 6 - Classes & Interfaces · 21 leccionesUNIDAD 6 - Classes & Interfaces
UNIDAD 6 - Classes & Interfaces
- Module Introduction
- What are Classes?
- Creating a First Class
- A Useful TypeScript Shortcut & Compiling to JavaScript
- Making Sense of "public" and "private"
- Marking Fields as "readonly"
- Understanding Getters
- Setting Values with Setters
- Exploring Static Properties & Methods
- Understanding Inheritance
- The "protected" Modifier
- Making Sense Of Abstract Classes
- Introducing Interfaces
- Creating a First Interface
- Interfaces As Object Types
- Interfaces vs Type Aliases & Understanding Declaration Merging
- Using Interfaces To Define Function Types
- Implementing Interfaces
- Ensuring Base Types with Interfaces
- Extending Interfaces
- How Interfaces Get (Not) Compiled To JavaScript
UNIDAD 7 - Advanced Types · 13 leccionesUNIDAD 7 - Advanced Types
UNIDAD 7 - Advanced Types
- Module Introduction
- Intersection Types
- More on Type Guards
- Discriminated Unions
- Type Guards via "instanceof"
- "Outsourcing" Type Guards & Using Type Predicates
- Function Overloads
- Working with Function Overloads
- Making Sense of Index Types
- Constant Types with "as const"
- Revisiting the "Record" Type
- The "satisfies" Keyword
- Advanced Types
UNIDAD 8 - Generic Types · 10 leccionesUNIDAD 8 - Generic Types
UNIDAD 8 - Generic Types
- Module Introduction
- A Generic Type We Already Know
- Understanding Generic Types
- Creating & Using a Generic Type
- Generic Functions & Inference
- Working with Multiple Generic Parameters
- Generics & Constraints
- Constraints & Multiple Generic Types
- Working with Generic Classes & Interfaces
- Summary
UNIDAD 9 - Classes & Generics - Demo Project · 8 leccionesUNIDAD 9 - Classes & Generics - Demo Project
UNIDAD 9 - Classes & Generics - Demo Project
- Module Introduction
- What Is A Linked List?
- Creating List & Node Classes
- Making the Class Generic
- Adding an "add" Method
- Adding Items More Efficiently
- Accessing the Data & Compiling + Running the Code
- Finishing the Linked List
UNIDAD 10 - Deriving Types From Types · 15 leccionesUNIDAD 10 - Deriving Types From Types
UNIDAD 10 - Deriving Types From Types
- Module Introduction
- Using "typeof"
- "typeof" & A More Useful Example
- Another Great Use-case for "typeof"
- Extracting Keys with "keyof"
- "keyof" & A More Useful Example
- Understanding Indexed Access Types
- Accessing Array Elements with Indexed Access Types
- Introducing Mapped Types
- Readonly Types & Optional Mapping
- Exploring Template Literal Types
- Introducing Conditional Types
- Conditional Types - Another Example
- Making Sense of the "infer" Keyword
- TypeScript's Got You Covered: Built-in Utility Types
UNIDAD 11 - ECMAScript Decorators · 13 leccionesUNIDAD 11 - ECMAScript Decorators
UNIDAD 11 - ECMAScript Decorators
- Module Introduction
- What Are Decorators? And ECMAScript Decorators vs Experimental Decorators
- Exploring Different Types of Decorators
- Building a First Decorator
- Building a Class Decorators That Edits a Class
- Understanding Decorator Code Execution Order
- Creating a Method Decorator
- Using Decorators To Solve A Common Problem
- Implementing A Decorator-based Solution: autobind
- Replacing Methods with Decorators
- Introducing the Field Decorator
- Building Configurable Decorators with Factories
- Onwards to Experimental Decorators
UNIDAD 12 - Experimental Decorators · 16 leccionesUNIDAD 12 - Experimental Decorators
UNIDAD 12 - Experimental Decorators
- Module Introduction
- A First Class Decorator
- Working with Decorator Factories
- Building More Useful Decorators
- Adding Multiple Decorators
- Diving into Property Decorators
- Accessor & Parameter Decorators
- When Do Decorators Execute?
- Returning (and changing) a Class in a Class Decorator
- Other Decorator Return Types
- Example: Creating an "Autobind" Decorator
- Validation with Decorators - First Steps
- Validation with Decorators - Finished
- Fixing a Validator Bug
- Wrap Up
- Useful Resources & Links
UNIDAD 13 - Practice Time! Let's build a Drag & Drop Project · 20 leccionesUNIDAD 13 - Practice Time! Let's build a Drag & Drop Project
UNIDAD 13 - Practice Time! Let's build a Drag & Drop Project
- Module Introduction
- Getting Started
- DOM Element Selection & OOP Rendering
- Interacting with DOM Elements
- Creating & Using an "Autobind" Decorator
- Fetching User Input
- Creating a Re-Usable Validation Functionality
- Rendering Project Lists
- Managing Application State with Singletons
- More Classes & Custom Types
- Filtering Projects with Enums
- Adding Inheritance & Generics
- Rendering Project Items with a Class
- Using a Getter
- Utilizing Interfaces to Implement Drag & Drop
- Drag Events & Reflecting the Current State in the UI
- Adding a Droppable Area
- Finishing Drag & Drop
- Wrap Up
- Useful Resources & Links
UNIDAD 14 - Modules & Namespaces · 12 leccionesUNIDAD 14 - Modules & Namespaces
UNIDAD 14 - Modules & Namespaces
- Module Introduction
- Writing Module Code - Your Options
- Working with Namespaces
- Organizing Files & Folders
- A Problem with Namespace Imports
- Using ES Modules
- Configuring tsconfig
- Understanding various Import & Export Syntaxes
- How Does Code In Modules Execute?
- Understanding "type" Imports
- Wrap Up
- Useful Resources & Links
UNIDAD 15 - Creating & Running TypeScript Projects with Vite · 9 leccionesUNIDAD 15 - Creating & Running TypeScript Projects with Vite
UNIDAD 15 - Creating & Running TypeScript Projects with Vite
- Module Introduction
- The Problem With The TypeScript Compiler
- Building with Webpack or ESBuild
- Introducing Vite
- Using Vite
- Installing TypeScript on a Per-Project Basis
- Making Sense of .d.ts Files
- Importing non-TS Files
- Wrap Up
UNIDAD 16 - Using Webpack with TypeScript · 11 leccionesUNIDAD 16 - Using Webpack with TypeScript
UNIDAD 16 - Using Webpack with TypeScript
- About This Section
- Module Introduction
- What is Webpack & Why do we need it?
- Installing Webpack & Important Dependencies
- Adding Entry & Output Configuration
- Adding TypeScript Support with the ts-loader Package
- Adjust Webpack Config
- Finishing the Setup & Adding webpack-dev-server
- Adding a Production Workflow
- Wrap Up
- Useful Resources & Links
UNIDAD 17 - 3rd Party Libraries & TypeScript · 10 leccionesUNIDAD 17 - 3rd Party Libraries & TypeScript
UNIDAD 17 - 3rd Party Libraries & TypeScript
- Module Introduction
- Problem: Using JavaScript (!) Libraries with TypeScript
- Solution: Installing @types Packages
- Exploring .d.ts Files
- Diving Deeper Into .d.ts Files
- Using "declare" Manually
- There Are Libraries With Great TypeScript Support!
- Exploring Zod As a TypeScript-first Library
- Diving Deeper Into Zod
- Runtime vs Compile-time Types with Zod
UNIDAD 18 - Time to Practice! Let's build a "Select & Share a Place" App (incl. Google Maps) · 8 leccionesUNIDAD 18 - Time to Practice! Let's build a "Select & Share a Place" App (incl. Google Maps)
UNIDAD 18 - Time to Practice! Let's build a "Select & Share a Place" App (incl. Google Maps)
- Module Introduction
- Project Setup
- Getting User Input
- Setting Up a Google API Key
- Using Axios to Fetch Coordinates for an Entered Address
- Rendering a Map with Google Maps (incl. Types!)
- Working with Maps without a Credit Card
- Useful Resources & Links
UNIDAD 19 - React.js & TypeScript · 14 leccionesUNIDAD 19 - React.js & TypeScript
UNIDAD 19 - React.js & TypeScript
- Module Introduction
- Setting Up a React + TypeScript Project
- Typing Components & Props
- Using Components & Props
- The Special "children" Prop & Optional Props
- Adding Another Components With Props
- Component Functions & Types - An Alternative
- Managing State
- Passing Functions As Props
- Handling Form Submission
- Working with Refs
- More Function Passing & State Updating
- Fixing a Typo
- Wrap Up
UNIDAD 20 - Node.js + Express & TypeScript · 11 leccionesUNIDAD 20 - Node.js + Express & TypeScript
UNIDAD 20 - Node.js + Express & TypeScript
- Module Introduction
- Node & TypeScript: Options & Alternatives
- Setting up a Project
- First Server & Working with Node Types
- Adding & Using Express (+ Types)
- Managing Data with Help of TypeScript
- Adding & Testing a First Route
- Finishing The Basic App
- Native Node.js TypeScript Support (Without Compilation!)
- Type Stripping vs Type Transformation
- Exploring Alternative Runtimes Like Bun
UNIDAD 21 - Course Roundup · 1 leccionesUNIDAD 21 - Course Roundup
UNIDAD 21 - Course Roundup
- Thanks for being part of the course!
UNIDAD 22 - [LEGACY] TypeScript Basics & Basic Types · 28 leccionesUNIDAD 22 - [LEGACY] TypeScript Basics & Basic Types
UNIDAD 22 - [LEGACY] TypeScript Basics & Basic Types
- LEGACY Lectures Below
- Module Introduction
- Using Types
- TypeScript Types vs JavaScript Types
- Important: Type Casing
- Working with Numbers, Strings & Booleans
- Type Assignment & Type Inference
- Understanding Types
- Object Types
- Nested Objects & Types
- Arrays Types
- Working with Tuples
- Working with Enums
- The "any" Type
- Union Types
- Literal Types
- Type Aliases / Custom Types
- Type Aliases & Object Types
- Core Types & Concepts
- Function Return Types & "void"
- Functions as Types
- Function Types & Callbacks
- Functions & Types
- The "unknown" Type
- The "never" Type
- Wrap Up
- Useful Resources & Links
- Where Should You Go Next?
UNIDAD 23 - [LEGACY] The TypeScript Compiler (and its Configuration) · 17 leccionesUNIDAD 23 - [LEGACY] The TypeScript Compiler (and its Configuration)
UNIDAD 23 - [LEGACY] The TypeScript Compiler (and its Configuration)
- LEGACY Lectures Below
- Module Introduction
- Using "Watch Mode"
- Compiling the Entire Project / Multiple Files
- Including & Excluding Files
- Setting a Compilation Target
- Understanding TypeScript Core Libs
- More Configuration & Compilation Options
- Working with Source Maps
- rootDir and outDir
- Stop Emitting Files on Compilation Errors
- Strict Compilation
- Code Quality Options
- Debugging with Visual Studio Code
- Wrap Up
- Useful Resources & Links
- Where Should You Go Next?
UNIDAD 24 - [LEGACY] Classes & Interfaces · 30 leccionesUNIDAD 24 - [LEGACY] Classes & Interfaces
UNIDAD 24 - [LEGACY] Classes & Interfaces
- LEGACY Lectures Below
- Module Introduction
- What are Classes?
- Creating a First Class
- Compiling to JavaScript
- Constructor Functions & The "this" Keyword
- "private" and "public" Access Modifiers
- Shorthand Initialization
- "readonly" Properties
- Class Basics
- Inheritance
- Overriding Properties & The "protected" Modifier
- Getters & Setters
- Static Methods & Properties
- Abstract Classes
- Singletons & Private Constructors
- Classes - A Summary
- Classes
- A First Interface
- Using Interfaces with Classes
- Why Interfaces?
- Readonly Interface Properties
- Extending Interfaces
- Interfaces as Function Types
- Optional Parameters & Properties
- Compiling Interfaces to JavaScript
- Interfaces
- Wrap Up
- Useful Resources & Links
- Where Should You Go Next?
UNIDAD 25 - [LEGACY] Generics · 14 leccionesUNIDAD 25 - [LEGACY] Generics
UNIDAD 25 - [LEGACY] Generics
- LEGACY Lectures Below
- Module Introduction
- Built-in Generics & What are Generics?
- Creating a Generic Function
- Working with Constraints
- Another Generic Function
- The "keyof" Constraint
- Generic Classes
- A First Summary
- Generic Utility Types
- Generic Types vs Union Types
- Generics
- Useful Resources & Links
- Where Should You Go Next?
Tu certificado lo emite la SEP, no solo una plataforma
Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.
Tu certificado con INEC
- Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
- Documento oficial con folio verificable en línea
- Lo otorga la Universidad Tecnológica Fidel Velázquez
Otras plataformas en línea
- Constancia privada emitida por la misma plataforma
- Solo acredita horas cursadas o asistencia
- Sin respaldo de una autoridad educativa
Tu itinerario, de la inscripción al certificado
- 1
Inscripción con pago único
Pagas $2,800 MXN una sola vez y entras de inmediato al curso.
- 2
Estudias a tu ritmo
25 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.
- 3
Cuestionarios por unidad
8 cuestionarios para comprobar lo aprendido.
- 4
Certificado
Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.
Un certificado oficial de la SEP
- Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
- Contenido impartido por Maximilian Schwarzmüller.
- Folio y QR verificables para compartirlo con quien te contrate.
Empieza hoy, a tu ritmo
Un solo pago y acceso inmediato al curso completo durante 12 meses.
- 25 unidades · 347 lecciones · 60 h
- 12 meses de acceso
- 8 cuestionarios de evaluación
- Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Sobre tu inscripción
¿Cómo es el pago?
Un solo pago de $2,800 MXN. No hay mensualidades ni cargos recurrentes.
¿Cuánto tiempo tengo acceso?
12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.
¿Quién imparte el contenido?
El curso es impartido por Maximilian Schwarzmüller; INEC gestiona tu inscripción, evaluación y certificado.
¿Qué pasa cuando vence mi acceso?
Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.


