<<Download>> Download Microsoft Word Course Outline Icon Word Version Download PDF Course Outline Icon PDF Version

Updated June 2026

TypeScript Essentials

Class Duration

14 hours of live training delivered over 2 days.

Student Prerequisites

  • Prior programming experience in some language
  • JavaScript experience is helpful but not required
  • Comfortable working in an editor and a terminal

Target Audience

  • Computer programming professionals
  • JavaScript experience helpful but not required
  • Focus on modern web development practices
  • Ready to go deeper? Continue to Advanced TypeScript

Description

Embark on a comprehensive journey into the realm of TypeScript with our "TypeScript Essentials" course. Begin by grasping the fundamentals of TypeScript, understanding its relationship with JavaScript, dynamic/static typing, and the immense advantages it offers over pure JavaScript for modern web development. Explore the rich landscape of TypeScript's type system, covering JavaScript types, type assignments, static typing for various data structures, special types like Any, Unknown, and Never, plus advanced typing concepts including structural and nominal typing, type narrowing, and type guards. You'll also master the art of defining and utilizing custom types effectively, from type aliases to utility types and advanced type manipulation techniques such as conditional types and mapped types, and dive into generic types, learning about type parameters, constraints, and how to create and implement generic classes and functions. To put your newfound knowledge into practice, you'll discover how to seamlessly integrate TypeScript into real-world applications, from bundling with Webpack to using TS-Node and handling ES2015 static modules and ES2020 import/export mechanisms. Join us in this course to become a proficient TypeScript developer, ready to tackle complex web projects with confidence and precision.

Learning Outcomes

  • Understand the fundamentals of TypeScript, including its relationship with JavaScript, dynamic/static typing, and the advantages it offers over pure JavaScript.
  • Explore various typing concepts in TypeScript, such as structural and nominal typing, type narrowing, and type guards.
  • Master TypeScript's type system, covering JavaScript types, type assignments, static typing of primitives, objects, functions, enums, unions, intersections, nullish values, and special types like Any, Unknown, and Never.
  • Learn how to define and use custom types effectively, including type aliases, utility types, generic types, and advanced type manipulation techniques like conditional types and mapped types.
  • Dive into generic types, including type parameters, constraints, and how to create and use generic classes and functions in TypeScript.
  • Apply TypeScript in real-world applications, including bundling with Webpack, using TS-Node, working with ES2015 static modules, and handling imports and exports in ES2020, enabling you to leverage TypeScript's power in practical development scenarios.

Training Materials

All students receive comprehensive courseware covering all topics in the course. Courseware is distributed via GitHub in the form of documentation and extensive code samples. Students practice the topics covered through challenging hands-on lab exercises.

Software Requirements

Students will need a free, personal GitHub account to access the courseware. Student will need permission to install Node.js and Visual Studio Code on their computers. Also, students will need permission to install NPM Packages and Visual Studio Code extensions. If students are unable to configure a local environment, a cloud-based environment can be provided.

Training Topics

TypeScript Fundamentals and Setup

  • What is TypeScript?
  • JavaScript and TypeScript
  • Dynamic/Static Typing
  • Loose/Strong Typing
  • Limitations of TypeScript
  • Installing TypeScript
  • Compiling a Simple Program

Generative AI Tooling (optional)

  • GitHub Copilot and Visual Studio Code Integration
  • Using GitHub Copilot for VS Code Programming
  • Using GitHub Copilot for Terminal Commands
  • Customize the Course with Your Generative AI Programmer Tool (optional)

Typing Concepts

  • What is Typing?
    • Memory Structure
    • Semantic Meaning
  • Structural Typing
  • Nominal Typing
    • Branding
    • Enums
    • Private Member
  • Type Narrowing
  • Type Guards

Types

  • JavaScript Types
  • Rule of First Assignment
  • Static Typing of Primitives
  • Static Typing of Objects
  • Static Typing of Functions
  • Enum Type
  • Discriminated Unions
  • Union and Intersections Types
  • Nullish Values/Types
  • Any, Unknown, and Never Types

Defining Types

  • Type Aliases
  • Utility Types
  • TypeOf Operator
  • KeyOf Operator
  • Indexed Access Types
  • Conditional Types
  • Mapped Types
  • Template Literal Types

Generic Types

  • Generic type parameters
  • Constraints
  • Inferring type parameters
  • Passing in type parameters
  • const type parameters (TS 5.x+)
  • Generic classes and functions
  • The satisfies operator

Classical Object-Oriented Programming

  • Classes
  • Interfaces
  • Abstract classes
  • Access modifiers
  • Inheritance
  • Stage 3 Decorators (modern, distinct from legacy experimentalDecorators)

Modern TypeScript Features (TS 6.x)

  • The using declaration and Symbol.dispose for resource cleanup
  • await using for async resource cleanup
  • Type predicates and narrowing
  • Conditional and template-literal types
  • infer and recursive types

Using TypeScript for Applications

  • Bundling with Vite, esbuild, or Rspack (the modern defaults; Webpack covered briefly for legacy projects)
  • tsx / Node 22+ TypeScript support
  • ES2025 modules
  • Named/default exports and imports
  • JSON modules with import data from "./x.json" with { type: "json" }
  • ES2020 Dynamic Imports

Practice Application (choose one)

  • Web App with React
  • Web App with Angular
  • REST API with Express.js
<<Download>> Download Microsoft Word Course Outline Icon Word Version Download PDF Course Outline Icon PDF Version