Mastering TypeScript
3.5 (38 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.
362 students enrolled
Wishlisted Wishlist

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

Add to Wishlist

Mastering TypeScript

Explore TypeScript in depth with detailed examples and put it all into practice by building a project
3.5 (38 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.
362 students enrolled
Created by Packt Publishing
Last updated 3/2016
Current price: $10 Original price: $95 Discount: 89% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 3 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • 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.
View Curriculum
  • All that is expected is a working knowledge of JavaScript and basic exposure to TypeScript.

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.

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.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
41 Lectures
Getting Started
3 Lectures 12:07

This video will offer the overview of the course.

The Course Overview

What does the sample application look like?

Sample Application Overview

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.

Compiling TypeScript in the Sample Application
Deploying the Type System
6 Lectures 24:04

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

Preview 06:53

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

Avoiding the "any" Type

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

Being Aware of Structural Typing

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

Type System Troubles

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

Compiler Options for Added Support

What is a linter and what benefit does it bring?

Enforcing Rules and Coding Standards
Moving to ES6 Classes
6 Lectures 25:08

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

Preview 03:54

How can we convert some JavaScript patterns to ES6 classes?

Class-like JavaScript Patterns to TypeScript (Part 1)

How can we convert some JavaScript patterns to ES6 classes?

Class-like JavaScript Patterns to TypeScript (Part 2)

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

Static Class-like Patterns in TypeScript

How do we reduce code written using parameter properties?

Shortening a Class with Parameter Properties

When should we use arrow methods on a class?

When to Use Arrow Function Properties
Interacting with the Type System
6 Lectures 26:13

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

Preview 05:24

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

Making the Most of Type Guarding

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

Multiple Function Signatures

What are some other features we can use with functions?

Rest and Spread

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

Extending Built-in Types

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

Code Refactoring
Representing JavaScript Libraries
5 Lectures 27:45

What are definition files?

Preview 04:35

How can we write a definition file?

Writing a Definition File

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

Strong Typing JavaScript Libraries on the Run

What’s the best way to manage definition files?

Downloading and Managing Definition Files

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

Included Definition Files
Language Features for Code Improvement
6 Lectures 33:00

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

Preview 05:18

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

Working with Strings

How can we use enums to write better code?


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

const enums Versus enums

How can we use ES6 modules to write better code?

Moving to ES6 Modules

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

Advanced ES6 and ES7 Features
5 Lectures 25:29

What are generators? How do they work?

Preview 06:27

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

Improving Performance and Efficiency with Generators

How does async and await work?

Easier Asynchronous Code with async/await

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

Harnessing the Power of Decorators

How can we have a decorator with parameters?

Advanced Decorators
Bridging Statically Typed Gaps
4 Lectures 19:46

How can we share code across multiple applications?

Preview 05:23

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

Bridging with Interfaces

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

Bridging with Code Generation

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

Using TSX Files
About the Instructor
Packt Publishing
3.9 Average rating
8,059 Reviews
58,196 Students
686 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.