
Open an editor and start writing real TypeScript code to learn what TypeScript is, why it's useful, and how static typing helps avoid bugs in JavaScript with hands-on practice.
Explore typed programming with TypeScript, compare it to JavaScript's dynamic types, learn how TypeScript catches bugs before runtime and compiles to plain JavaScript with intellisense in VS Code.
Set up your environment for typed programming with TypeScript by installing Node.js and npm, choosing a code editor like VS Code, and initializing a local project with tsconfig.json.
Write your first TypeScript file, annotate variables with string and number types, compile with tsc, and see TypeScript catch type errors during development.
Explore primitive types in TypeScript, including string, number, boolean, null, undefined, BigInt, and symbol, and learn how type inference and explicit annotations guide type checking.
Explore TypeScript's flexible types by examining any, unknown, never, and union types. Learn how to safely narrow unknown values with type checks and use literal unions to constrain inputs.
Explore how TypeScript defines object shapes with ID, name, and optional isWorking, uses type aliases, and types arrays with both [] and generic syntax for arrays of custom types.
Explore read-only properties and as type assertions in TypeScript, and compare interfaces and type aliases for object shapes, including unions and extends with examples like animal, dog, and person.
Explore TypeScript functions by annotating parameters and return types, using never and void, and comparing traditional functions with arrow functions, defaults, and inferred return types for type-safe code.
Explore TypeScript enums, using direction and status examples to assign friendly names to values, improve readability, and reduce errors with numeric versus string enum approaches.
Explore how TypeScript defines blueprints with classes, constructors, and access modifiers. Learn inheritance with extends and super, interfaces with implements, and practical examples of public, private, and protected members.
Explore how generics let functions and classes work with any data type while preserving type safety, using generic identity, a get first function, and extends constraints on length.
Wrap up the course by consolidating key TypeScript skills, including classes and generics, and explore tooling like ts node, tsc with a watch flag, tsconfig.json, and type definitions.
Welcome to Hands-On Introduction to Typed Programming with TypeScript — this is a practical, beginner-friendly course designed to help you understand and start using TypeScript in your real projects.
I’m Lucas, a tech lead working in an international team, and I’ve created this course to give you the tools and knowledge to work with TypeScript effectively — without overwhelming theory or unnecessary complexity. We’ll focus on hands-on examples, use cases, and clear explanations directly in the code editor as we will be able to see TypeScript in action right away.
Throughout the course, you’ll learn:
How to set up TypeScript from scratch and understand its role in modern JavaScript development
Working with type annotations, type inference, and built-in types
Creating and using custom types, interfaces, and type aliases
Understanding unions and literal types
Leveraging functions, parameters and return types
Exploring classes, access modifiers, inheritance, and interfaces
Harnessing the power of generics for reusable, type-safe code
We’ll build and test everything step-by-step, so by the end, you’ll not only know how TypeScript works but also how to apply it confidently to your own projects.
So if you’re completely new to programming or an experienced JavaScript developer looking to level up, this course will help you write safer, cleaner, and more maintainable code with TypeScript.