Typescript Core Language

Paths

Typescript Core Language

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

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

Pre-requisites

  • JavaScript
  • ES6

Beginner

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

TypeScript: The Big Picture

365体育足球by Simon Allardice

Nov 22, 2019 / 44m

44m

Start Course
Description

365体育足球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.

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

365体育足球First, you'll learn some reasons for using TypeScript.

365体育足球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

365体育足球by Brice Wilson

365体育足球Aug 28, 2019 / 3h 58s

3h 58s

Start Course
Description

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

Intermediate

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

Creating Object-oriented TypeScript Code

by Dan Wahlin

365体育足球Nov 27, 2019 / 2h 11m

2h 11m

Start Course
Description

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
Description

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.

365体育足球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.

365体育足球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

365体育足球Dec 20, 2019 / 2h 7m

2h 7m

Start Course
Description

365体育足球TypeScript is a powerful language, but configuring and compiling it is much more challenging than with plain JavaScript.

In this course, Configuring, Compiling, and Debugging Typescript Projects, you’ll gain the ability to efficiently and effectively set up and debug TypeScript projects, saving time for your team and money for your employer.

365体育足球First, you’ll learn how to compile TypeScript and how to interpret the input and output. Next you’ll explore where and how to configure the TypeScript compiler for maximum productivity. Finally, you’ll discover how to debug and lint TypeScript projects, ensuring that the development process will be smooth from beginning to end.

When you're finished with this course, you will have the skills and knowledge of TypeScript needed to set up TypeScript for compilation of multi-developer projects, or to integrate in these projects.

Software required: TypeScript, Node.js, VSCode

Table of contents
  1. Course Overview
  2. Scaffolding an Environment for TypeScript Compilation
  3. Configuring the TypeScript Compiler
  4. Installing Type Declaration Files
  5. TypeScript Debugging
  6. Course Summary

Using TypeScript Modules

365体育足球by Dan Wellman

365体育足球Dec 20, 2019 / 1h 24m

1h 24m

Start Course
Description

365体育足球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

Nov 12, 2019 / 49m

49m

Start Course
Description

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

365体育足球by David Tucker

Nov 18, 2019 / 1h 13m

1h 13m

Start Course
Description

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

365体育足球by Hendrik Swanepoel

365体育足球Nov 22, 2019 / 1h 32m

1h 32m

Start Course
Description

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