Updated: July 18, 2023
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 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.
Thanks for reading!