Mastering TypeScript

Explore TypeScript in depth with detailed examples and put it all into practice by building a project
4.0 (28 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.
294 students enrolled
Take This Course
  • Lectures 41
  • Length 3 hours
  • Skill Level Expert Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 12/2015 English

Course Description

TypeScript gives the developer instant feedback on the code they are writing in order to catch mistakes earlier in the development process. Since it is transpiled to JavaScript, developers can take advantage of future JavaScript language features today.

Mastering TypeScript will take you on a journey from understanding and interacting with the type system to working efficiently with more advanced features of the language.

We’ll start by introducing a simple client/server application. Then use the application to demonstrate key components of the TypeScript language.

Once the sample application is set up, we’ll look in detail at TypeScript’s type system. Then we take a look at more advanced language features, learn to deal with JavaScript libraries, and finally use TypeScript to utilize static typing between parts of an application.

Mastering TypeScript will help you write better TypeScript code and gain a deeper understanding of the language.

About The Author

David Sherret is a software developer in the healthcare industry. Within that, he leads several projects including one that supports the logistics behind specialty pharmaceuticals and maintains a patented technology for reducing health insurance fraud.

You can find him answering questions on the TypeScript tag on Stack Overflow.

What are the requirements?

  • All that is expected is a working knowledge of JavaScript and basic exposure to TypeScript.

What am I going to get from this course?

  • Compile the sample application and analyze its overall structure.
  • Understand TypeScript’s type system and how to use it more effectively.
  • Broaden your knowledge on ES6 classes and how they relate to class-like JavaScript patterns.
  • Familiarize yourself with JavaScript libraries in TypeScript.
  • Improve your code with TypeScript language features.
  • Use advanced experimental ES6 and ES7 features.
  • Create static typing between a client and server in a client/server application. Bring the view code into TypeScript to have static typing.
  • Interact efficiently with the type system for better and structured code.

Who is the target audience?

  • If you've spent time with TypeScript and know how things work on a basic level, this video course will allow you to graduate to a level of mastery.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Getting Started

This video will offer the overview of the course.


What does the sample application look like?


We need to add TypeScript to the sample application. This video will review some of the ways of compiling Typescript, and then show you how we are going to compile the sample application in this case.

Section 2: Deploying the Type System

When should implicit types be used and when should explicit types be used?


The “any” type should be avoided. This video will explain why.


Not many developers know that TypeScript uses a structural type of system instead of a nominal one.


What are some troubles that people experience with the type system?


What compiler options can we use to make the compiler stricter?


What is a linter and what benefit does it bring?

Section 3: Moving to ES6 Classes

This video will introduce the viewer to moving towards ES6 classes.


How can we convert some JavaScript patterns to ES6 classes?


How can we convert some JavaScript patterns to ES6 classes?


What do static class-like patterns look like in TypeScript?


How do we reduce code written using parameter properties?


When should we use arrow methods on a class?

Section 4: Interacting with the Type System

What is type assertion and type guarding and how can we use them appropriately?


How can we use type guarding in situations where type guarding doesn't work?


When should we use function overloading, optional, and default parameters?


What are some other features we can use with functions?


How can we extend built-in types without modifying an object we don't own?


What is code refactoring and how do we use it in TypeScript?

Section 5: Representing JavaScript Libraries

What are definition files?


How can we write a definition file?


How can we use a JavaScript library when we don’t have time to write a full definition file?


What’s the best way to manage definition files?


What are some of the definition files included by default in TypeScript?

Section 6: Language Features for Code Improvement

What is let and const? How do they differ from 'var'?


What’s a better way we can work with strings in TypeScript?


How can we use enums to write better code?


What are const enums and how do they differ from enums?


How can we use ES6 modules to write better code?


What is destructuring and how can it help us write better code?

Section 7: Advanced ES6 and ES7 Features

What are generators? How do they work?


How do generators help improve performance and efficiency in our application?


How does async and await work?


How can decorators help us in our code? In this video, we’ll step through an example in our sample app.


How can we have a decorator with parameters?

Section 8: Bridging Statically Typed Gaps

How can we share code across multiple applications?


What’s one way that we can help bridge the type gap?


How can we bridge the server/client strongly typed gap?


How can we bridge the gap between our View and client-side TypeScript code?

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, Tech Knowledge in Motion

Over the past ten years Packt Publishing has developed an extensive catalogue of over 2000 books, e-books and video courses aimed at keeping IT professionals ahead of the technology curve. From new takes on established technologies through to the latest guides on emerging platforms, topics and trends – Packt's focus has always been on giving our customers the working knowledge they need to get the job done. Our Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.

Ready to start learning?
Take This Course