TypeScript Foundation Course
TypeScript has become the de-facto standard language for implementing client-side user interfaces. This course is designed to help you learn TypeScript syntax and techniques, and to make use of the latest language innovations so you can write production grade TypeScript code. This class is meant for anyone either new to TypeScript or for developers who are getting by in TypeScript. You will be lead through the details of the language, with plenty of demos and exercises to help you understand how to apply TypeScript in practical scenarios.
Objectives
- Learn to write effective and accurate TypeScript code
- Update your TypeScript skills to the latest version of the language
- Make use of popular TypeScript techniques and best practices
- Define classes, interfaces, enums, and generic types
- Manage promises effectively
Prerequisites
- No programming experience is required
- Familiarity with concepts such as functions or procedures, control flow, arrays, and structures or records is useful as is a background in Object Orientation
Contents
TypeScript Essentials
- TypeScript vs. JavaScript
- Transpilation
- Using simple types
- Using arrays, tuples, and enums
- Using undefined, null, and unknown
- Union types
Defining and Calling Functions
- Typed parameters and returns
- Destructuring parameters in TypeScript
- Default parameters, optional parameters, and rest parameters
- Lambda expressions
Defining and Using Classes
- How to define a class
- Constructors
- Constructor parameter properties
- Read-only properties
- Definite assignment
Inheritance and Interfaces
- Defining superclasses and subclasses
- Inheritance techniques
- Defining interfaces to specify methods, properties, and function signatures
- Downcasting
Using Generics Effectively
- Defining and using generic types
- Defining and calling generic functions
Asynchronous TypeScript
- Understanding promises
- Chaining promises
- Using the async and await keywords
- Running independent tasks in parallel
Creating and using Decorators
- Overview of decorators
- How to define a decorator
- Defining decorators for classes, methods, properties, and parameters


