30% OFF - Use code HANDSON30 for 30% off any course or Dometrain Pro! Browse courses →
  • Courses
  • Learning Paths
  • Blogs
  • Authors
  • Leaderboard
  • Dometrain Pro
  • Shopping Basket

    Your basket is empty

  • Business Portal
  • 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

    Getting Started: Model Context Protocol (MCP)
    course

    Getting Started: Model Context Protocol (MCP)

    Learn how to get started with the Model Context Protocol (MCP) and integrate it into your applications.

    Learn more about Getting Started: Model Context Protocol (MCP)
    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#