NEW! Curricular Projects • Test Your Skills and Get Expert Feedback
Updated: July 18, 2023
Great instructors delivering focused, polished microlearning. A solid choice for screencast training, but you should supplement with independent practice.
This series of video courses covers everything from the basics to advanced TypeScript features. The courses are concise and scoped well to cover the core topics without too much overlap.
Pluralsight's authors are the main draw here, as experts Dan Wahlin, John Papa, Simon Allardice and others guide you through real-world TypeScript usage.
Pluralsight's TypeScript Core Language path includes an adaptive assessment that will measure your proficiency with the language. The assessment can give you a good idea for how your TypeScript knowledge stacks up against other Pluralsight users and areas to target for additional study.
You'll need additional practice with hands-on projects to make the leap from watching to building.
The courses in this path were all created in 2021 or earlier, so the content is getting a bit dated, covering TypeScript 3 and 4. But the core concepts covered in the path are still valid at time of writing.
In the core coursework of this path, you'll learn mostly from Mike North of Stripe (and formerly LinkedIn), so you'll learn practical insights into how TypeScript is used at top organizations. These courses are taken from real-time workshops Mike delivered, with code files so you can follow along and a reference website with detailed notes from each lecture.
The learning path will take you through the essentials of working with TypeScript, and put you on a journey to becoming your organization's TypeScript expert. You'll learn valuable insights into working with large TypeScript codebases.
As a subscriber, you have access to a Discord server where Frontend Masters staff and instructors hang out and answer questions. It's one of the more valuable learning communities out there.
By Various Authors
A solid hands-on learning option for getting up to speed with TypeScript. Not as deep as other offerings, but covers the essentials.
The course provides frequent hands-on practice. Almost every section requires you to run some code to learn the concept, followed by a practical hands-on exercise to apply what you’ve learned.
Each section of the course includes a guided project where you get to apply the concepts in a new context. The guided projects provide step by step instructions and hints in case you get stuck, which are helpful as you’re getting comfortable with the language.
A little light on coverage of classes and OOP, as well as modules and namespaces.
The course provides several guided projects, but no solo project opportunities. We recommend supplementing your learning with a project to practice what you've learned in a new context and solidify your knowledge.
By Maximilian Schwarzmuller - Academind
A good choice if you can't afford other platforms, if you're newer to programming, and/or if you prefer learning from a single instructor. Clear explanations, lots of real world examples, and a helpful assignment section where you work through a project.
In this course, Max begins by teaching the core concepts of TypeScript and then continues by guiding learners through a project. He encourages you to stop the video and work through it on your own, before watching his solution video. This is one of the best parts of the course and very helpful for solidifying TypeScript knowledge.
Udemy has an interactive workspace feature, but we found them extremely buggy during testing. If you're going to learn with Udemy, we recommend coding in your own IDE and then plugging your code into the browser to run tests.
TypeScript is a tremendously popular language with developers, ranking the 5th most used programming language and 3rd most admired programming language in Stack Overflow’s 2023 Developer Survey. Some of the world’s leading technology companies use TypeScript, including Slack, Airbnb, and Google.
The Key Topics to focus on learning TypeScript:
Basic Types: Understand TypeScript's type system and learn about the basic types such as number, string, boolean, arrays, objects, and more. Explore type annotations and inference.
Type Annotations and Inference: Learn how to explicitly annotate types in TypeScript to provide type information. Additionally, grasp the concept of type inference, where TypeScript infers types based on the assigned values.
Functions and Interfaces: Explore how to define and use functions in TypeScript, including parameter types and return types. Dive into interfaces, which allow you to define contracts for object shapes and enforce type safety.
Classes and Object-Oriented Programming: Familiarize yourself with classes, inheritance, and object-oriented programming concepts in TypeScript. Learn how to create classes, implement interfaces, and work with access modifiers.
Generics: Understand the concept of generics in TypeScript, which provides a way to create reusable components that work with multiple types. Learn how to define generic types and use them in functions, classes, and interfaces.
Modules and Namespaces: Discover how to organize your TypeScript code into modules and namespaces. Learn about import and export statements, module resolution, and the different module systems supported by TypeScript.
Compiler Configuration: Gain knowledge of the TypeScript compiler (tsc) and how to configure the tsconfig.json file to customize the compilation options, such as target ECMAScript version, module format, and more.
To get the most out of using TypeScript, you should first be familiar with the following:
HTML and CSS: Familiarity with HTML and CSS is valuable as TypeScript is often used in conjunction with these technologies to build web applications. Understanding how to structure and style web pages will complement your TypeScript development skills.
ECMAScript (ES) Versions: TypeScript is closely aligned with ECMAScript standards. It's helpful to have knowledge of ES6 (ECMAScript 2015) and subsequent versions, as TypeScript incorporates many of the language features introduced in these versions.
IDE or Text Editor: TypeScript development is greatly facilitated by using a feature-rich Integrated Development Environment (IDE) or text editor. Familiarize yourself with popular options like Visual Studio Code, WebStorm, or Atom, and explore their TypeScript-specific features and extensions.
Package Managers: Understanding how to work with package managers like npm (Node Package Manager) or Yarn is important, as TypeScript projects often rely on external dependencies. Learn how to manage packages, install TypeScript-related libraries, and handle project dependencies effectively.