NEW - Hands-On: Data Structures & Algorithms in C# — Free to enroll for 7 days! Enroll now →

Hands-On: Learn TypeScript

Learn TypeScript from scratch by completing practical exercises and writing real TypeScript code.

About This Course

Reading about TypeScript isn’t enough to truly master it. You need to build real projects and tackle real-world challenges. Our immersive 25+ hour TypeScript course is packed with interactive, hands-on exercises in Dometrain’s advanced web Code Editor, guiding you from core TypeScript principles to advanced features like static typing and generics. You don’t need any prior TypeScript experience. Just a basic programming background. At Dometrain, we’re passionate about helping developers learn new programming languages and frameworks from the ground up. That’s why you can access this course for free for 14 days to see how it fits your learning style. Whether you’re new to TypeScript or want to boost your existing skills, this course will ensure you’re up to date with the latest best practices in TypeScript development.

Course Curriculum

24h 49m 33 sections
Hello World
05:00
Printing Multiple Lines
05:00
Comments
05:00
Basic Arithmetic Output
05:00
String Concatenation
05:00
Declaring Variables with let
05:00
Constants with const
05:00
Number Type
05:00
String Type
05:00
Boolean Type
05:00
Undefined and Null
05:00
BigInt
05:00
The typeof Operator
05:00
Chapter Capstone - Type Reporter
10:00
Arithmetic Operators
05:00
Assignment Operators
05:00
Comparison Operators
05:00
Strict vs Loose Equality
05:00
Logical Operators
05:00
Ternary Operator
05:00
Nullish Coalescing Operator
05:00
Logical Assignment Operators
05:00
Chapter Capstone - Expression Evaluator
10:00
String Length and Character Access
05:00
Changing Case
05:00
Trimming Whitespace
05:00
Searching Strings
05:00
Extracting Substrings
05:00
Replacing Text
05:00
Template Literals
05:00
Chapter Capstone - String Processor
10:00
If Statements
05:00
If-Else Statements
05:00
Else-If Chains
05:00
Switch Statements
05:00
Truthy and Falsy Values
05:00
Nested Conditionals
05:00
Chapter Capstone - Ticket Pricer
10:00
While Loops
05:00
For Loops
05:00
Do-While Loops
05:00
Break and Continue
05:00
Nested Loops
05:00
Looping Through Strings
05:00
Chapter Capstone - Pattern Printer
10:00
Function Declarations
05:00
Parameters and Return Values
05:00
Multiple Parameters
05:00
Default Parameters
05:00
Early Return Pattern
05:00
Scope Basics
05:00
Chapter Capstone - Math Toolkit
10:00
Function Expressions
05:00
Arrow Functions
05:00
Arrow Functions with Implicit Return
05:00
Rest Parameters
05:00
Closures
05:00
IIFE Pattern
05:00
Chapter Capstone - Function Toolkit
10:00
Creating and Accessing Arrays
05:00
Modifying Array Elements
05:00
Array Length and Iteration
05:00
for...of Loop
05:00
Push, Pop, Shift, Unshift
05:00
Splice and Slice
05:00
Searching Arrays
05:00
Chapter Capstone - Array Manager
10:00
forEach
05:00
map
05:00
filter
05:00
find and findIndex
05:00
some and every
05:00
reduce
05:00
Chaining Array Methods
05:00
Chapter Capstone - Data Pipeline
10:00
Sorting with Custom Comparators
05:00
flat and flatMap
05:00
Array.from and Array.of
05:00
Spread Operator with Arrays
05:00
Array Destructuring
05:00
Immutable Array Methods
05:00
at() and findLast
05:00
Chapter Capstone - Nested Data Processor
10:00
Creating Objects
05:00
Accessing Properties
05:00
Adding and Deleting Properties
05:00
Computed Property Names
05:00
Shorthand Properties
05:00
Checking Property Existence
05:00
Chapter Capstone - Contact Card Builder
10:00
Object.keys, Object.values, Object.entries
05:00
Iterating with for...in
05:00
Object Spread and Object.assign
05:00
Object Destructuring
05:00
Nested Object Destructuring
05:00
Optional Chaining
05:00
JSON Parse and Stringify
05:00
Chapter Capstone - Data Merger
10:00
typeof Type Guards
05:00
Handling Multiple Types Safely
05:00
Array Type Checking
05:00
Null and Undefined Guards
05:00
Truthiness-Based Narrowing
05:00
The in Operator for Property Checking
05:00
Chapter Capstone - Safe Data Processor
10:00
Tagged Objects
05:00
Type Field Dispatching
05:00
Result Pattern - Success and Failure
05:00
Option Pattern - Some and None
05:00
State Machine Pattern
05:00
Exhaustive Handling with Default Throws
05:00
Chapter Capstone - Shape Calculator with Tags
10:00
Frozen Constant Objects
05:00
String Constants as Lookup Keys
05:00
Reverse Mapping
05:00
Bitwise Flag Patterns
05:00
Status Code Mappings
12:00
Status Code Mappings
05:00
Chapter Capstone - Permission System
10:00
Creating and Using Maps
05:00
Map Iteration
05:00
Creating and Using Sets
05:00
Set Operations
10:00
Converting Between Collections
05:00
Map vs Object
05:00
Chapter Capstone
10:00
Deep Nested Destructuring
05:00
Default Values in Destructuring
05:00
Rest in Destructuring
05:00
Swapping Variables
05:00
Function Parameter Destructuring
05:00
Chapter Capstone
10:00
The this Keyword
05:00
this in Arrow vs Regular Functions
05:00
call and apply
05:00
bind
05:00
Constructor Functions
05:00
Prototypes and Prototype Chain
05:00
Chapter Capstone
10:00
Class Declarations
10:00
Constructor and Instance Properties
10:00
Instance Methods
10:00
Getters and Setters
10:00
Static Methods and Properties
10:00
Private Fields
10:00
Chapter Capstone
10:00
Extends and Super
05:00
Method Overriding
05:00
Calling Parent Methods with super
05:00
The instanceof Operator
05:00
Composition Over Inheritance
05:00
Chapter Capstone
10:00
Try-Catch Basics
05:00
The Error Object
05:00
Throwing Custom Errors
10:00
Custom Error Classes
10:00
Error Cause
10:00
The Finally Block
10:00
Chapter Capstone
10:00
Callbacks
05:00
Higher-Order Functions
05:00
Recursion
10:00
Function Composition
10:00
Currying
05:00
Memoization
05:00
Chapter Capstone
10:00
Creating Promises
05:00
then and catch
10:00
Promise Chaining
10:00
Promise.all
05:00
Promise.race and Promise.any
05:00
Promise.allSettled
10:00
Chapter Capstone
15:00
Async Functions
05:00
Await Keyword
05:00
Error Handling with Async/Await
15:00
Sequential vs Parallel Execution
10:00
Async Utility Functions
10:00
Chapter Capstone
10:00
The Iterator Protocol
05:00
Custom Iterables
05:00
Generator Functions
05:00
yield and Delegation with yield*
05:00
Lazy Evaluation with Generators
10:00
Chapter Capstone
10:00
Creating and Using Symbols
05:00
Well-Known Symbols - Symbol.iterator
05:00
Symbol.toPrimitive
05:00
WeakMap
05:00
WeakSet
05:00
WeakRef and FinalizationRegistry
05:00
Chapter Capstone
15:00
Creating a Basic Proxy
05:00
Get and Set Traps
05:00
Has and DeleteProperty Traps
05:00
The Apply Trap
05:00
Reflect API
05:00
Chapter Capstone
10:00
Creating Patterns and Basic Matching
05:00
Character Classes and Quantifiers
05:00
Anchors and Boundaries
05:00
Groups and Capturing
05:00
Lookahead and Lookbehind
10:00
Named Groups and matchAll
05:00
Chapter Capstone
10:00
Pure Functions
05:00
Immutability Patterns
05:00
Function Composition and Piping
05:00
Partial Application
05:00
Transducers
05:00
Chapter Capstone
05:00
Property Descriptors
05:00
Object.defineProperty
05:00
Object.freeze and Object.seal
10:00
Object.preventExtensions
10:00
Dynamic Property Access Patterns
05:00
Chapter Capstone
15:00
Object.groupBy
05:00
Built-in Set Methods
10:00
Iterator Helpers
05:00
structuredClone
10:00
Promise.withResolvers
10:00
Object.fromEntries Advanced
05:00
Chapter Capstone
15:00
Type-Safe Result Pattern
05:00
Type-Safe Option Pattern
10:00
Builder Pattern
05:00
Branded Values at Runtime
12:00
Assertion Functions
05:00
Exhaustive Switch with Never
05:00
Chapter Capstone
15:00

Meet Your Instructor

Nick Chapsas

Nick Chapsas

Nick Chapsas is a .NET & C# content creator, educator and a Microsoft MVP for Developer Technologies with years of experience in Software Engineering and Engineering Management.

He has worked for some of the biggest companies in the world, building systems that served millions of users and tens of thousands of requests per second.

Nick creates free content on YouTube and is the host of the Keep Coding Podcast.

View all courses by Nick Chapsas

What's New

Hands-On: Learn TypeScript
course

Hands-On: Learn TypeScript

Learn TypeScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn TypeScript
Hands-On: Learn JavaScript
course

Hands-On: Learn JavaScript

Learn JavaScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn JavaScript
Hands-On: Data Structures & Algorithms in C#
course

Hands-On: Data Structures & Algorithms in C#

Master data structures and algorithms through hands-on coding exercises in C#. Free to enroll for 7 days!

Learn more about Hands-On: Data Structures & Algorithms in C#
Blogsmith.ai
feature

Blogsmith.ai

Turn your videos into blogs and newsletters with AI. Check out our new product at blogsmith.ai.

Learn more about Blogsmith.ai
Leaderboard
feature

Leaderboard

See how you stack up against other learners. Track your progress, climb the ranks, and compete with the Dometrain community.

Learn more about Leaderboard
Hands-On: Learn PostgreSQL
course

Hands-On: Learn PostgreSQL

Learn PostgreSQL through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn PostgreSQL
Free Hands-On: C# for Beginners
course

Free Hands-On: C# for Beginners

Learn C# through hands-on coding exercises. Practice what you learn with interactive challenges designed for everyone, from beginners to experts.

Learn more about Free Hands-On: C# for Beginners
Getting Started: AI for .NET Developers
course

Getting Started: AI for .NET Developers

Get started with integrating AI into your .NET applications effectively using the latest LLM best practices.

Learn more about Getting Started: AI for .NET Developers
Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn more about Getting Started: Building .NET Applications on AWS
What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn more about What's new in C# 14
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn more about Let's Build It: AI Chatbot with RAG in .NET Using Your Data
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn more about From Zero to Hero: SignalR in .NET
Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn more about Deep Dive: Solution Architecture
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn more about Migrating: ASP.NET Web APIs to ASP.NET Core
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn more about Getting Started: Caching in .NET
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn more about From Zero to Hero: Testing with xUnit in C#
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn more about Create a ChatGPT Console AI Chatbot in C#