Typescript Core Language


Typescript Core Language

Authors: Simon Allardice, Brice Wilson, Dan Wahlin, John Papa, Daniel Stern, Dan Wellman, David Tucker, Hendrik Swanepoel, Matthew Kruczek

TypeScript is a strict syntactical superset of JavaScript that adds optional static typing to the language. It was developed and maintained by Microsoft and may be used to develop... Read more

What You Will Learn

  • How To Create a New TypeScript Project
  • The TypeScript Compiler
  • TypeScript Modules
  • TypeScript Generics
  • TypeScript Decorators
  • Static Types
  • Advanced Types and Language Features
  • How to Debug
  • How to Create Declaration Files
  • Object-oriented Techniques
  • Asynchronous Coding Patterns


  • JavaScript
  • ES6


Learn the use case for TypeScript and create your first declaration file.

TypeScript: The Big Picture

by Simon Allardice

Nov 22, 2019 / 44m


Start Course

Most language courses immediately zoom in on syntax, but it’s beneficial to stay zoomed out for a minute and get clear on what TypeScript is and why you might use it.

In this course, TypeScript: The Big Picture, you'll view a fast-paced, pragmatic, and technical overview of TypeScript.

First, you'll learn some reasons for using TypeScript.

Next, you'll discover tooling, basic syntax, and how TypeScript can be used both by itself and with other frameworks.

Finally, you’ll explore the main features TypeScript adds to the JavaScript development world, with a focus on writing Enterprise-level applications.

When you're finished with this course, you'll have the skills and knowledge needed to get started writing TypeScript, evaluate it against other technologies, or work with people and projects using it.

Table of contents
  1. Course Overview
  2. How TypeScript Can Help
  3. Setting Up a TypeScript Development Environment
  4. Writing TypeScript Applications

TypeScript: Getting Started

by Brice Wilson

Mar 17, 2021 / 3h 1m

3h 1m

Start Course

Creating great web applications requires great JavaScript code. TypeScript helps you create great JavaScript code. In this course, Getting Started with TypeScript, you'll learn how to create browser applications faster and with fewer errors using a powerful and fun programming language. First, you'll learn how to configure TypeScript projects. Next, you'll explore how to create and use your own types. Finally, you'll discover how to get strong typing support for just about any JavaScript library you can imagine. When you're finished with this course, you'll have a foundational understanding of TypeScript's most important features, as well as the skills you need to begin building client-side web applications and NodeJS applications with TypeScript.

Table of contents
  1. Course Overview
  2. Installing TypeScript and Configuring a Project
  3. Taking Advantage of Built-in Types
  4. Writing Better Functions with TypeScript
  5. Creating and Using Custom Types
  6. Creating and Consuming Modules
  7. Being More Productive with Type Declaration Files


Take a deeper dive into TypeScript through advanced configurations, debugging, decorators, and types.

Creating Object-oriented TypeScript Code

by Dan Wahlin

Nov 27, 2019 / 2h 11m

2h 11m

Start Course

TypeScript supports many different ways to define and create objects which can be confusing especially when you're new to the language. Should you use a constructor function, Object.create(), classes, a coding pattern, or some other technique when creating objects? In this course, Creating Object-oriented TypeScript Code, you'll learn different ways to create objects while focusing on object-oriented programming (OOP) techniques that can be used to maximize reuse and enhance productivity. First, you'll explore the core principles of object-oriented programming, such as encapsulation, polymorphism, inheritance, and abstraction, and see how they can be applied and used. Next, you'll discover how to define and instantiate classes in TypeScript, understand what members can be added to a class and the role they play. Then, you'll delve into how inheritance can be used to promote reuse, and what an abstract class is and why you'd use one. Finally, you'll learn about the role of interfaces and how they can be used to create code contracts that drive consistency across a set of objects and enable polymorphic behavior. When you're finished with this course, you'll have the skills and knowledge needed to build robust object-oriented applications using the TypeScript language and understand when and why to apply object-oriented programming principles.

Table of contents
  1. Course Overview
  2. Introduction to Object-oriented Programming in TypeScript
  3. Classes and Objects
  4. Inheritance and Abstraction
  5. Interfaces and Polymorphism
  6. Putting It All Together

Creating Asynchronous TypeScript Code

by John Papa

Dec 16, 2019 / 1h 50m

1h 50m

Start Course

Asynchronous code makes the web come alive, and you’ll want to know how to identify it, respond to it, and write it. In this course, Creating Asynchronous TypeScript Code, you will learn to write asynchronous code with TypeScript, following async practices with callbacks, promises, and the async/await pattern.

First, you will explore how to identify when to write asynchronous code. Next, you will learn how to pass callback functions as parameters to functions. Finally, you will discover how to create and resolve/reject promises, and create and handle asynchronous functions with async/await.

By the end of this course you will be able to apply asynchronous coding patterns as you develop with TypeScript.

Table of contents
  1. Course Overview
  2. Getting Started with Asynchronous Code
  3. Identify When to Write Asynchronous Code
  4. Create and Pass Callback Functions as Parameters
  5. Create, Resolve, Reject, and Respond Promises
  6. Create and Respond to Asynchronous Logic with the Async/Await Pattern

Configuring, Compiling, and Debugging TypeScript Projects

by Daniel Stern

Aug 18, 2021 / 2h 6m

2h 6m

Start Course

When teams with diverse skillsets work on the same application, it can be challenging and time-consuming to coordinate interconnected code and to standardize styling.

In this course, Configuring, Compiling, and Debugging TypeScript Projects, you’ll learn to create TypeScript projects from scratch to suit the needs of any project you are assigned to create, and to contribute intelligently to projects in which you take a junior role.

First, you’ll explore scaffolding TypeScript projects and creating a reliable and easily customizable environment in which to write code.

Next, you’ll discover how to streamline and encourage developer cooperation by adding type declarations, code linting (with ESLint), and project references.

Finally, you’ll learn how to debug TypeScript with Chrome and VSCode, and configure the project to make it simple for anyone who is working on the project to do so as well.

When you’re finished with this course, you’ll have the skills and knowledge of TypeScript needed to confidently take charge and architect any TypeScript project you are assigned to in an intelligent manner, or to work within any TypeScript team project in a professional and efficient manner.

Table of contents
  1. Course Overview
  2. Scaffolding an Environment for TypeScript Compilation
  3. Configuring the TypeScript Compiler
  4. Maximizing Collaboration with Project References and Type Declaration Files
  5. Debugging TypeScript
  6. Standardizing TypeScript Styling with ESLint

Using TypeScript Modules

by Dan Wellman

Dec 20, 2019 / 1h 24m

1h 24m

Start Course

Are you a front-end professional who needs to fully understand and utilize TypeScript's module system to write reusable, "Don't Repeat Yourself (DRY)" code? In this course, Using TypeScript Modules, you will gain foundational knowledge of TypeScript's module system, including how to get started by creating a brand new TypeScript project and compiling TypeScript into JavaScript. First, you will explore all of the different ways that code can be imported into, or exported from, a TypeScript module. Next, you will discover what ambient modules are and what they should be used for, as well as how to use third-party ambient modules that other developers have already created. Finally, you will learn how TypeScript resolves modules when the compiler encounters import statements in your code, and see how to output diagnostic information about the resolution process. When you are finished with this course, you will have the skills and knowledge of TypeScript modules needed to build modular and maintainable TypeScript applications.

Table of contents
  1. Course Overview
  2. Getting Started with TypeScript Modules
  3. Creating Basic TypeScript Modules
  4. Creating Ambient Modules
  5. Understanding Module Resolution
  6. Course Summary

Creating and Using Generics in TypeScript

by Brice Wilson

Jun 9, 2021 / 49m


Start Course

In order to fully harness the power of TypeScript, you need to take advantage of all the tools it provides for developing reusable, type-safe code. In "Creating and Using Generics in TypeScript", you will learn how to do more with less code. You will learn what generics are, how to recognize and use built-in generic types, and how to create your own generic functions, interfaces, and classes. When you are finished with this course, you will have a foundational understanding of TypeScript generics as well as the skills to begin using generics to build sophisticated web applications.

Table of contents
  1. Course Overview
  2. Understanding and Applying Built-in Generics
  3. Generic Functions
  4. Generic Interfaces and Classes

Creating and Using TypeScript Decorators

by David Tucker

Nov 18, 2019 / 1h 13m

1h 13m

Start Course

When creating TypeScript projects, there are times when repeated functionality cannot be solved by inheritance. In this course, Creating and Using TypeScript Decorators, you will learn how to leverage TypeScript decorators to solve cross-cutting concerns in your application. First, you will learn how to implement basic decorators on functions, properties, and classes. Next, you will use single decorators to centralize logic within your application. Finally, you will combine multiple decorators to create an entity framework that allows you to share logic for a REST based API. When you’re finished with this course, you will have the skills and knowledge of TypeScript decorators needed to leverage AOP (Aspect-oriented Programming) within your project.

Table of contents
  1. Course Overview
  2. Introduction to TypeScript Decorators
  3. Implementing TypeScript Decorators

Using Specialized Types and Language Features in TypeScript

by Hendrik Swanepoel

Nov 22, 2019 / 1h 32m

1h 32m

Start Course

Most developers find it hard to learn and understand the more advanced features of TypeScript because the documentation and examples are often way too abstract and difficult to relate to the real world. In this course, Using Specialized Types and Language Features in TypeScript, you’ll learn how to deal with challenging problems that you will find in any significantly sized code base. First, you’ll explore options for differentiating types from each other at compile and run time. Next, you’ll discover how to create types that are inferred from other types and even generate new types from existing types. Finally, you’ll learn how to model your code to deal with custom iteration, infinite sequences, and metaprogramming with symbols. When you’re finished with this course, you’ll have the skills and knowledge of TypeScript needed to keep your code base performant, flexible, and type-safe.

Table of contents
  1. Course Overview
  2. Getting Started
  3. Differentiate between Types with Type Guards
  4. Making Your Types More Flexible with Conditional Types
  5. Generating Complex Types Based on Existing Types
  6. Extending Objects Safely with Symbols
  7. Reducing the Size of Repetitive Data with Tuples
  8. Extending the Functionality of Classes with Mixins
  9. Modeling Idiomatic Data Sources with Iterators
  10. Using Generators for Functions That Can Be Paused or Resumed

Creating a TypeScript Declaration File

by Matthew Kruczek

Mar 31, 2020 / 1h 28m

1h 28m

Start Course

In today's fast paced web environment, it’s impossible to build a modern TypeScript application without the inclusion of declaration files. Declaration files allow us to enhance our classes and functions allowing us to push our code to a more professional and readable level. In this course, Creating a TypeScript Declaration File, you’ll learn all about building and modifying TypeScript Declaration Files. First, you’ll explore the different library patterns contained in definition files. This includes what they are, what they are used for, and how to identify them. Next, you’ll discover how to create your own declaration files and some of the options available to you. Finally, you’ll learn how to publish a newly created declaration file. When you’re finished with this course, you’ll have the skills necessary to allow you to create, update, and maintain your own TypeScript Declaration Files.

Table of contents
  1. Course Overview
  2. Declaration File Fundamentals
  3. Building a Declaration File
  4. Creating Your Own Library
Offer Code *
Email * First name * Last name *
Country *

* Required field

Opt in for the latest promotions and events. You may unsubscribe at any time. Privacy Policy

By providing my phone number to Pluralsight and toggling this feature on, I agree and acknowledge that Pluralsight may use that number to contact me for marketing purposes, including using autodialed or pre-recorded calls and text messages. I understand that consent is not required as a condition of purchase from Pluralsight.

By activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit