TypeScript

5
4 reviews

last updated 8 days ago

This course is up to date, guaranteed

So you want to learn TypeScript?

Here are some common approaches

  • Random Blogs

    It's not that blog posts are bad, it's that finding and piecing together unrelated yet up to date posts that form a linear, cohesive path to learning complex technical topics is hard.

  • Youtube Videos

    It's happened to all of us, one moment you're using Youtube to learn about React's useEffect Hook and the next you're watching a "KIDS REACT TO PAYPHONES" video. Finding a high-quality, up-to-date YouTube video that effectively answers all of your questions on a JavaScript topic might actually be more difficult than finding a needle in a haystack. With so many videos and zero quality control, it’s easy to get sucked down the YouTube rabbit hole for hours without getting much learning out of it.

  • Live Workshops

    You know what they say, the best learning happens sitting in a classroom for 8 hours at a time listening to dry lectures and working through practice problems that only serve to make you feel comfortable so you’ll feel like you learned something. Oh wait, no. No one says that.

  • Conferences

    Things conferences are great for - networking, travelling on your company's dime, free swag, finding other companies to join. Things conferences are not great for - learning in depth technical topics that you will remember and put into practice literally 3 days later when you’re back at the office, quality wifi.

  • All-In-One Subscriptions

    These are the larger companies that offer courses on seemingly every technology under the sun. We won’t name them, but chances are your company has a business subscription to at least one of them and chances are that you don’t use it much. Their courses are made by a wide assortment of third-party contractors and optimized for production quality, not educational value.

The better approach?

All our courses follow the same proven structure, optimized for knowledge, not the illusion of learning.

  • Effort

    We're obsessed with making the most effective developer education content on the planet. On average, it takes us around 1,900 hours to create a new course. While others prioritize quantity, we optimize for quality.

  • Non-Contextual Analysis

    The first time you're introduced to a topic, any extra contextual information you have to process only serves as a distraction. Although it takes more time, our non-contextual analysis comes in two forms, video and text. This way, no matter how you prefer to learn, there's an option for you.

  • Quiz

    Nothing fancy here. After learning about the topic you'll receive a quiz to make sure you have a solid conceptual understanding before moving on to the hands-on practice.

  • Non-Contextual Practice

    Similar to the non-contextual analysis, context is everything. The first time you're hands-on with a new topic, any extra contextual information you have to process only serves as a distraction. This is why we first have you work through small, focused practice problems before you ever see the new topic in the context of a larger project.

  • Contextual Practice

    You've probably experienced it before, you feel like you're learning so much going through a tutorial only to hit a wall once it's time to actually apply that knowledge outside of the context of the tutorial. All the non-contextual practice in the world is useless if you're not then able to take that knoweldge and apply it towards a (contextual) production level codebase.

The result?

TypeScript Mastery

The ability to take what you learn and apply it towards a production codebase

This Course

  • 58 Topics
  • 316 Minutes of Video
  • 52,304 Words of Text
  • 30 Quizzes
  • 9 Exercises
  • 3 Projects

Outline

  • Introduction

    • Introduction, Philosophy, and Tips
    • Projects (What you'll build)

    We'll start the course off with some housekeeping items. You'll learn about the best strategy for getting the most out of the course as well as what you'll build during the course.

  • Getting TypeScript Configured

    • Basic TypeScript Configuration

    TypeScript is both a type checker and a compiler, so you'll need to install it to use it with your projects. You'll also learn about the most important configuration settings for TypeScript.

  • Project: Tic Tac Toe

    • (Project) Base Project
    • (Project) Adding Base Types
    • (Project) Button Event Handler
    • (Project) Win Condition

    At this point, you've learned enough to actually build a program in TypeScript! We'll make Tic Tac Toe using TypeScript so you can get a feel for how to write type definitions that match the data structures you use in your code.

  • Type Narrowing

    • Common Type Guards
    • (Quiz) Common Type Guards
    • Handling null and undefined
    • (Quiz) Handling null and undefined
    • (Practice) Narrowing Types
    • (Solution) Narrowing Types
    • (Bonus) Structural vs Nominal Typing
    • Discriminating Unions
    • (Quiz) Discriminating Unions
    • (Practice) Discriminating Unions
    • (Solution) Discriminating Unions
    • Assertion Signatures
    • (Quiz) Assertion Signatures
    • User Defined Type Guards
    • (Quiz) User Defined Type Guards
    • (Practice) User Defined Type Guards
    • (Solution) User Defined Type Guards

    Often, you'll find that you have a value that could be several different types. How can you tell what type it actually is? Once you learn about Type Narrowing, you can add runtime checks to determine the type of any value.

  • Modules

    • (Bonus) From IIFEs to CommonJS to ES6 Modules
    • (Bonus) ES Modules In Depth
    • Modules in TypeScript
    • (Quiz) Modules in TypeScript
    • (Bonus) TypeScript Namespaces

    Modules are all about getting code from one file into another file. TypeScript has a nuanced approach to modules, so you'll learn what things to watch out for as you use modules in your TypeScript code.

  • Advanced Transformation Types

    • Recursive Conditional Types
    • Template Literal Types
    • Mapped Types Key Remapping

    TypeScript 4.1 may have come out a week before this course launched, but that doesn't mean you won't learn about the new goodies that came with it! You'll learn about several new transformation types that come with the latest version of TypeScript.

  • TypeScript Overview

    • (Pre-req) Glossary
    • Why TypeScript?
    • (Quiz) Why TypeScript?
    • (Bonus) ECMAScript, TC39, and the Standardization process

    Whenever you learn a new tool, you should first ask yourself why it's necessary. If you can't answer that question, you may not need it. In this section, we'll answer that question in regards to TypeScript as well as cover some other programming fundamentals that TypeScript utilizes. We'll also do a quick refresher on how JavaScript (and thus TypeScript) features are standardized.

  • Basic Type Checking

    • Implicit Type Checking
    • (Quiz) Implicit Type Checking
    • Adding Type Annotations
    • (Quiz) Adding Type Annotations
    • Typing Function Declarations
    • (Quiz) Typing Function Declarations
    • (Practice) Type Annotations
    • (Solution) Type Annotations

    Now that you're all set up, you can start writing TypeScript code! You'll learn about the TypeScript type checker and how to write type annotations when the type checker can't automatically infer them.

  • Classes

    • Class Definition
    • (Quiz) Class Definition
    • Class Modifiers
    • (Quiz) Class Modifiers
    • (Practice) Classes
    • (Solution) Classes

    In this section you'll learn about how to define classes and some special features that TypeScript provides to give your classes a bit of extra type safety.

  • Generics

    • Generics
    • (Quiz) Generics
    • (Bonus) Zustand Implementation
    • (Practice) Generics
    • (Solution) Generics

    Just like you can write functions to reuse code, you can write generic types to reuse type definitions throughout your codebase. We'll even look at a real-world library to see how it uses generics.

  • Declaration Files

    • Built-In Type Definitions
    • (Quiz) Built-In Type Definitions
    • (Bonus) Outputting TypeScript Definitions
    • Definitely Typed and @types/ packages
    • (Quiz) Definitely Typed and @types/ packages
    • (Bonus) Typing an NPM module that has no types

    What happens when you want to use JavaScript code in TypeScript? Can you even do that without sacrificing type safety? Yes, you can, with declaration files. You'll learn about the type definitions that ship with TypeScript, third-party type definitions, and how to write your own type definitions for third-party modules.

  • Extra Topics

    • Unexpected TypeScript Behavior
    • (Quiz) Unexpected TypeScript Behavior
    • (Bonus) Experimental Decorators

    In this section you'll learn about all the things that don't really fit with the normal flow of the course.

  • Typing in JavaScript

    • JavaScript Types
    • (Quiz) JavaScript Types

    Types are fundamental to TypeScript, so naturally you'll need to be familiar with the base types that exist in JavaScript.

  • Special TypeScript Types

    • `any` and `unknown` types
    • (Quiz) `any` and `unknown` types
    • Interfaces
    • (Quiz) Interfaces
    • (Practice) Interfaces
    • (Solution) Interfaces
    • Enum and Tuple Types
    • (Quiz) Enum and Tuple Types
    • Void and Never Types
    • (Quiz) Void and Never Types
    • `type` aliases
    • (Quiz) `type` aliases
    • Union Types
    • (Quiz) Union Types
    • Intersection Types
    • (Quiz) Intersection Types
    • Literal Types
    • (Quiz) Literal Types
    • (Practice) Union & Literal Types
    • (Solution) Union & Literal Types

    TypeScript includes a few special types which it uses to augment the types that come with JavaScript. You'll learn how you can use these to add better type safety to your programs.

  • Advanced TypeScript Types

    • TypeScript Operators
    • (Quiz) TypeScript Operators
    • (Bonus) Advanced Function Typing

    TypeScript comes with its own set of operators which you can use to transform your types. You'll also learn about some special ways to add type annotations to functions.

  • Transformation Types

    • (Bonus) Thinking In Types
    • Mapped Types
    • (Quiz) Mapped Types
    • Conditional Types
    • (Quiz) Conditional Types
    • (Practice) Utility Types
    • (Solution) Utility Types

    Once you understand generics, a whole world of possibility opens up. You can use TypeScript operators with generic types to transform your types in really powerful ways. You'll apply what you learn by recreating the utility types that ship with TypeScript!

  • Advanced TypeScript Configuration

    • Additional TSConfig.json options
    • (Quiz) Additional TSConfig.json options
    • (Bonus) How the `target` field works
    • Module Resolution
    • (Quiz) Module Resolution
    • (Bonus) Configuring for Webpack Development
    • (Bonus) Configuring for Babel Development
    • (Bonus) Configuring for Modern Web Development
    • (Bonus) Configuring for Node Development
    • (Bonus) Configuring for Library Development with TSDX

    There are a lot more configuration options for TypeScript, so you'll learn about a few more. You'll also learn how to configure TypeScript for several different development environments.

  • Project: Web Server

    • (Project) Initial Node.js Setup
    • (Project) Static Web Server
    • (Project) Multiple Routes
    • (Project) Dynamic API Route

    Now that we know a bit more about configuring TypeScript, we'll use this knowledge to write a Node.js server using TypeScript. We'll handle the request and response object, create a few routes, and even grab some dynamic data.

  • Hype

    GM
    Glenn Mills

    Was part of the Beta test group and loved it. Great work!

    SH
    Sean Healey

    Fantastic course. You can tell Alex put a lot of time and thought into how to structure everything so you feel the learning comes natural.

    DN
    Daniel Nehring

    I loved how this course was very much targeted at intermediate/professional javascript users. I feel like this course has helped me develop an intuition around how to think about typescript. The course cadence is smooth and each section feels is appropriately ordered.

    RH
    Robert Hanna

    Really fantastic course. If you're interested in TypeScript at all I can not think of a better value for your time. Each lesson builds upon the last so you are never left confused when the more advanced topics are covered. It's obvious a lot of work went into making this and the quality reflects that.

    Master TypeScript today

    FAQ

    • What makes these courses different from other online courses?

      Our courses are designed to teach you everything you need to know to confidently write production-ready code. The tradeoff is it will require more work and focus than a course that features a few bite-sized screencasts. Real learning takes time, but you can feel confident that once you've finished a course, you’ll have mastered everything you need to know with minimal knowledge gaps.

    • Do the courses have captions?

      Yes.

    • How long should I expect each course to take?

      Naturally, it depends. Considering all our courses are comprised of video, text, quizzes, practice problems, and curriculum - 15-30 hours per course is a safe assumption.

    • In which order should I take the courses?

      If you're comfortable with JavaScript (including ES6) and want to jump straight to React, go with "React", "React Hooks", then any other course that looks interesting. If you're not comfortable with JavaScript, start with "Modern JavaScript", then "Advanced JavaScript", then any other course you'd like.

    • What level of experience is required for getting the most out of these courses?

      A fundamental understanding of JavaScript or familiarity with another programming language. For example, you should be comfortable with functions, arguments, loops, control flow, etc. If you want to jump straight in to the React courses, we recommend having a stronger knowledge of JavaScript, which you can get from our JavaScript courses if you’re unsure.

    • How does the subscription work?

      Like Netflix. You pay $40 per month or $350 per year for access to all our courses, premium newsletters, and events. Your subscription will be active until you cancel, which you can do at any time in your dashboard.

    • I need an official invoice with certain fields like VAT. Can I get one?

      Once you sign up, as part of the welcome email, you'll be given a link to fill out where you can input all your company's info.

    • What projects will I build throughout the courses

      You can find every project on the /projects page.

    5

    4 Reviews

    100%
    0%
    0%
    0%
    0%
    • DN
      Daniel Nehring
      8 days ago

      I loved how this course was very much targeted at intermediate/professional javascript users. I feel like this course has helped me develop an intuition around how to think about typescript. The course cadence is smooth and each section feels is appropriately ordered.

    • RH
      Robert Hanna
      8 days ago

      Really fantastic course. If you're interested in TypeScript at all I can not think of a better value for your time. Each lesson builds upon the last so you are never left confused when the more advanced topics are covered. It's obvious a lot of work went into making this and the quality reflects that.

    • SH
      Sean Healey
      14 days ago

      Fantastic course. You can tell Alex put a lot of time and thought into how to structure everything so you feel the learning comes natural.

    • GM
      Glenn Mills
      21 days ago

      Was part of the Beta test group and loved it. Great work!