TypeScript Fundamentals Course Released on Pluralsight.com
Over the past few months I’ve have been digging into TypeScript and learning the ins and outs of the language. If you’re new to TypeScript, it’s a language that provides a way to write modular code that includes support for types (string, number, bool, etc.) and compiles down to JavaScript. It’s definitely interesting especially if you’d like to catch issues upfront rather than after the fact. For more information on TypeScript check out my Getting Started with TypeScript – Classes, Static Types and Interfaces post.
I’m excited to announce that the TypeScript Fundamentals course that I co-authored with John Papa has now been released on Pluralsight. In the course we cover the problems TypeScript helps solve, how to work with variables, functions, and types, how classes and interfaces are defined and how modules can be used. A full course outline is listed below. I hope you enjoy the course!
TypeScript is a new open source language that provides support for building enterprise scale JavaScript applications. Although several patterns exist that can be used to structure JavaScript (see my Structuring JavaScript Code course for examples of patterns), TypeScript provides container functionality that object-oriented developers are familiar with such as classes and modules. It also supports strongly-typed code to ensure inappropriate values aren’t assigned to variables in an application. This course will walk you through the key concepts and features that you need to know to get started with TypeScript, and use it to build enterprise scale JavaScript applications. You’ll learn the role that TypeScript plays as well as key features that will help jump-start the learning process.
Getting Started with TypeScript |
Course Introduction |
Introduction |
Why use TypeScript? |
TypeScript Features |
Tooling and Framework Options |
Tooling and Framework Options - TypeScript Playground |
Tooling and Framework Options - Visual Studio |
Tooling and Framework Options - Web Essentials |
Tooling and Framework Options - Sublime Text |
Tooling and Framework Options - TypeScript Compiler |
Tooling and Framework Options - NodeJS |
Hello World Example |
Hello World Example - Creating a Class |
Summary |
Typing, Variables and Functions |
Overview |
Type Annotations |
Type Inference |
Grammar |
Static and Dynamic Typing |
Compile Time or Run Time |
Ambient Declarations and Type Definition Files |
The Any Type and Primatives |
Applying Types |
Objects |
Functions |
Arrow Functions and Debugging |
Functions and Interfaces |
Static Typing Recap |
Classes and Interfaces |
Introduction |
Defining Classes |
Demo: Defining Classes |
Demo: Property Limitations |
Casting and Type Definition Files |
Demo: Casting and Type Definition Files |
Extending Types |
Demo: Extending Types |
Using Interfaces |
Demo: Using Interfaces |
Extending an Interface |
Demo: Extending an Interface |
Summary |
Modules |
Overview |
Identifying a Module |
Creating an Internal Module |
Internal Module Accessibility and IIFE |
Named Modules |
Extending Modules and Importing Shortcuts |
Organizing Internal Modules |
Separating Internal Modules |
External Modules and Dependency Resolution |
Module Dependencies |
Importing External Modules using AMD |
Importing 3rd Party Libraries using AMD |
Modules Recap |