Comprehensive TypeScript
3.6 (79 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,320 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Comprehensive TypeScript to your Wishlist.

Add to Wishlist

Comprehensive TypeScript

Master TypeScript and its many useful features. Learn interfaces, classes, types and functions, and much more!
3.6 (79 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,320 students enrolled
Created by Daniel Stern
Last updated 5/2015
Curiosity Sale
Current price: $10 Original price: $125 Discount: 92% off
30-Day Money-Back Guarantee
  • 3.5 hours on-demand video
  • 10 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Read, write and compile TypeScript
  • Understand and explain when and why TypeScript should be used
  • Use all basic TypeScript classes
  • Create custom TypeScript types with interfaces and classes
View Curriculum
  • Basic PC or Mac able to run Node.js
  • Working knowledge of JavaScript, Java or C#

This amazing tutorial series contains over $5,000 worth of content and can be yours. Act now!

Being a knowledgeable TypeScript user can come in handy in various ways. It can dramatically increase your chances of landing a job in a TypeScript-oriented workplace - and those are becoming more frequent. It can also help you write your own code in better ways for your personal projects and apps.

This course will teach you everything you need to know about TypeScript, in a fun and interactive manner. We'll learn about types, classes, interfaces, modules, and more, plus learn practical programming tips.

We'll build custom classes, precise interfaces and strictly typed functions, becoming a TypeScript master along the way.

Who is the target audience?
  • Web developers who wish to learn TypeScript
  • Developers who know another typed language like C# or Java who want to get into Web Development
  • Programmers interested in developing for WinJS
  • JavaScript developers who want to take their projects to the next level
Students Who Viewed This Course Also Viewed
Curriculum For This Course
51 Lectures
Introduction to Comprehensive TypeScript
6 Lectures 17:09

TypeScript is an awesome language with many very cool features.

This video discusses the reasons why TypeScript is right for YOU and your next project, like it's built-in error checking, its scalability, and ES6 features

Preview 06:17

The lecture contains the slides for Why TypeScript?

Preview 4 pages

TypeScript is an exciting language with many new features.

In this video, we'll take an overview of the language's features including types, classes, interfaces, enums, error checking, and more.

Preview 05:34

The lecture contains the slides for Overview of TypeScript Features

Preview 4 pages

This is a full-featured and comprehensive course on the TypeScript language.

In this video, we'll look at the parts this course is divided into, including Getting Started, Core Functionality, and Advanced TypeScript.

Preview 05:18

This lecture contains the slides for the course overview.

Preview 5 pages

TypeScript Overview
5 questions
Workshop: Install, Compile and Edit TypeScript
5 Lectures 17:46

TypeScript has many resources available on their website to assist you learning the language.

In this tutorial, we'll have a look at the TypeScript handbook, an easy-to-understand TypeScript guide, and the TypeScript Playground, a place where you can write TypeScript and see it compile in real time.

Preview 03:37

TypeScript is a simple application that can be installed on PC or Mac.

In this tutorial, we'll walk through the process as well as learn about Node and avoid some common pitfalls.


You can compile TypeScript into JavaScript using the command line interface (CLI).

In this tutorial, we'll use our terminal window to compile TypeScript into JavaScript.

We'll also look at a few common command line arguments.

The Command Line Interface

TypeScript is a language that compiles down to JavaScript.

In this tutorial, we'll use the TypeScript playground to see this process in action, and take a sneak preview at numerous TypeScript constructs that are compiled into complex JavaScript code.

How TypeScript Compilation Works

TypeScript's strongly typed nature make it perfect for assistance via code hinting, linters, and pre-compilers.

The best way to develop is to have these features integrated right into your text editor, so in this tutorial, we take a look at three great integrated development environments (IDE) for TypeScript - Brackets, IntelliJ and Sublime.

Choosing a TypeScript Compatible Text Editor

Test your basic TypeScript engineering skills in this quiz.

TypeScript Installation, Compilation and Editing
4 questions
The Type System
6 Lectures 21:37

TypeScript is named through a combination of the words "Type" and "JavaScript". This should give the reader a clear understanding of their importance in learning TypeScript programming.

In this tutorial, we introduce types in TypeScript, and learn a bit about the number type.

Preview 03:05

TypeScript comes packaged with several useful, basic types.

In this tutorial, we become familiar with three basic types - numbers, strings and booleans, including a live code example.

Preview 05:01

Array types are a powerful basic type available in TypeScript.

In this tutorial, we'll learn about how they're used, and define a type for a variable that is an array containing only numbers.

Array Types

Enums are another vary useful type available in TypeScript which provide functionality not available in plain JavaScript.

In this tutorial, we'll learn what enums are and do two hands-on examples.


The Any and Void types are the two final TypeScript types that we'll discuss in this section.

Though not particularly useful, they do come in handy from time to time in numerous real-world situations.

BONUS: Any and Void Types

Types Test
6 questions

This lecture contains the slides used in the section. Feel free to refer to them whenever you need a refresher on types.

Types Summary
10 pages
8 Lectures 28:42

Interfaces are a feature common to many typed languages including C# and Java. TypeScript brings a part of these languages, interfaces, to our front end and JavaScript code.

In this tutorial, we'll look at the basic syntax for creating interfaces. We'll also create an interface in our code editor and troubleshoot compiler errors.

Introduction to Interfaces

TypeScript interfaces can have optional properties. In this tutorial, we'll examine adding optional properties to our interfaces.

Optional Properties

Interfaces can be used as powerful tools to define a template for functions.

In this tutorial, we'll examine function interfaces and use one to define a special kind of function.

Function Interfaces

Interfaces can be used in TypeScript to define several different genres of array, including Dictionaries.

In this tutorial, we will use TypeScript array interfaces to define both a numeric array and a dictionary.

Array Types

Classes are templates for objects in TypeScript. Class interfaces in TypeScript are templates for classes. They are powerful and not too difficult to use.

In this tutorial, we'll define an interface for a class and use it to generate better code.

Class Types

One of the most powerful feature of interfaces in TypeScript is that they can extend one another and create modular, DRY (don't-repeat-yourself) templates for code.

In this tutorial, we'll create an interface an extend it to explore modular functionality.

Extending Interfaces

JavaScript is an extremely modular and dynamic language. TypeScript interfaces allow for this with Hybrid interfaces, which define the interface for something that is multiple types at once.

In this tutorial, we'll look at Hybrid interfaces and how they can be used.

BONUS: Hybrid Interfaces

Test your knowledge of TypeScript interfaces!

6 questions

A summary of all the slides in this tutorial section, Interfaces.

Interfaces Summary
9 pages
6 Lectures 28:18

Classes make up the backbone of most object oriented languages.

TypeScript gives us access to the full range of functionality available to classes. In this tutorial, we'll take a look at what classes are and also try a quick example of a simple class.

Preview 06:35

Inheritance is a powerful tool that TypeScript developers can use to write more modular code.

In this tutorial, we'll learn about inheritance, and make a simple class that inherits from another class.


Private and public modifiers are tools we can use to make our code more error-resistant and easier to understand.

In this lesson, we'll learn about private and public properties, and create a class with a private property in an example.

Private and Public Modifiers

Accessor methods are a convenient tool to create clean and easy to understand interfaces.

In this tutorial, we'll look at accessor functions, also known as getter and setter methods, and create an example in which we implement both.


Static methods and properties are yet another handy tool TypeScript adds to our developer's toolbelt which let us write more expressive code.

In this tutorial, we'll learn about static properties, and do an example where we implement them.

Static Properties

This quiz will test your knoweldge of TypeScript classes

TypeScript Classes
5 questions

This lesson contains the slides for this section as well as the course files.

Classes Summary
7 pages
4 Lectures 15:07

Modules are a key feature of TypeScript which allows you to share your code between files.

In this tutorial, we'll have a look at a simple module example and construct one in a hands-on workshop.

What are Modules?

The purpose of modules in TypeScript is largely to share files between projects.

In this tutorial, we'll use a reference declaration to share modules between two different TypeScript files.

Splitting a Project Across Many Files

TypeScript comes with powerful support for AMD and Commonjs modules.

In this tutorial, we'll have a look at the elegant import and export syntax, and then try it out in a live code example. As a bonus, we'll have a look at some generated AMD code.

Importing External Modules

The lecture contains the slides for the section on modules, plus the course files.

Slides: Modules
5 pages

Test your knowledge of TypeScript modules

TypeScript Modules
4 questions
7 Lectures 28:46

TypeScript adds powerful functionality to the existing capabilities of JavaScript functions.

In this video, we'll take a look at what a TypeScript function is and how it relates to JavaScript.

TypeScript Functions

The type system is at the core of what makes TypeScript a useful programming tool. Function types add this functionality to functions.

In this tutorial, we'll have a look at function types, and try a simple example.

Function Types

Optional and default parameters are a familiar feature for programmers familiar with many languages including C# or JavaScript.

TypeScript also has optional and default parameters. In this tutorial, we'll learn about what optional and default parameters are, create optional and default parameters in a simple example, and then have a look at compiled code to see what's going on under the TypeScript hood.

Optional and Default Arguments

Rest parameters are a cool ES6 feature that's available to TypeScript users early.

Rest parameters are useful but can be intimidating. In this tutorial, we'll break them down until they are simple tools for writing cleaner code.

Preview 04:20

Lambdas, also known as fat arrow functions, are a powerful ES6 feature that is also available currently in TypeScript.

Lambdas in TypeScript are extremely useful due to their descriptiveness, terseness, and ease-of-use.

In this tutorial, we'll have a look at Lambdas, and create one in a hands-on example.

Lambdas and This

The type system in TypeScript is essential. Using the `any` type can be disastrous. Function overloads let us avoid using any while writing better, more sensible code.

In this tutorial, we'll examine overloads, see how they are useful, and make a few in some hands-on examples.

Function Overloads

The lecture contains the slides for the section on functions plus the course files.

Slides: Functions
7 pages

Test your knowledge of Functions in TypeScript

Functions Quiz
5 questions
6 Lectures 23:31

Generics are a powerful way to render TypeScript code more error resistant. They may be familiar to experienced C# or Java coders.

In this tutorial, we'll look at what TypeScript generics are and try a quick hands on example.

What are Generics?

TypeScript's generics and its powerful array type syntax can be combined into a useful means to keep your code free of errors.

In this tutorial, we'll have a look at generic arrays and try out an example.

Generic Arrays

Interfaces in TypeScript let us create our own types to prevent errors in our code.

Generic interfaces add another layer of customization to TypeScript interfaces. In this tutorial, we'll look at how generic interfaces work and make a few in an exercise.

Generic Interfaces

Generic classes are one of TypeScript's most useful features, and work in a similar manner to regular generics and generic interfaces.

In this tutorial, we'll look at how to create a generic class and have a go at a quick example.

Generic Classes

Generics are a useful way of preventing errors in our code. Generic constraints are yet another tool for preventing errors, this time errors in our generics.

We'll look at generic constraints and explore how they work in an example.

Generic Constraints

This lecture contains the slides on the section on generics as well as the course files.

Slides: Generics
7 pages

Test your knowledge of TypeScript generics!

5 questions
Type Definition Files
0 Lectures 00:00
Workshop: Task Runner Support
1 Lecture 14:39

Gulp is the fastest-growing task runner of 2015 and, of course, TypeScript integration is available.

In this hands-on workshop,we'll install Gulp and Gulp-TypeScript, then use a Gulpfile and the gulp command line argument to generate JavaScript from TypeScript.

We'll also look at the out and target options of Gulp-TypeScript.

Integration with Gulp
1 More Section
About the Instructor
Daniel Stern
4.2 Average rating
3,646 Reviews
38,924 Students
9 Courses
The Code Whisperer

Known in development circles as “the Code Whisperer," Daniel Stern has been believed to possess a supernatural connection to computers ever since he talked the supercomputer Deep Blue off the roof of a twelve-story St. Petersburg apartment building, following its shameful loss to Gary Kasparov.

He can often be found singing softly to his tablet, or gently caressing his aluminum keyboard in his arms.

Daniel has been working as a front end and full stack developer in the tech industry since 2011. He's developed single-page applications for banks like CIBC, charities like the Ontario Institute for Cancer Research, and at ad agencies like McLaren McCann, TraffikGroup and Olson. Throughout his labors, he's worked on computer programming in his spare time because, well, he's obsessed with it.

In addition to being featured in both CSS Weekly and JavaScript weekly, Daniel is well-known throughout the open-source community for maintaining several open-source tools, most notably the Angular.js and LESS-based tool, Range .css and the Angular .js audio tool, ngAudio.

In addition to being trusted by the open source community to develop top-quality, functional code, Daniel has also been invited to speak at numerous conferences including Full Stack Conference 2014 in London, England.

Daniel is an active learner and very passionate about the following technologies,

- Node.js
- Angular.js
- TypeScript
- MongoDB
- Brackets, the Open Source Code Editor
- Esprima
- Grunt
- Yeoman
- Many, many, many more