Skip to main content
CF

TypeScript course

6h 27m 32s
English
Paid

TypeScript adds clear types on top of JavaScript. You should know basic JavaScript types before you start. This part explains how the course works and what you will build. You will set up your tools and learn how to get the most from each lesson.

Additional

About the Author: UI.dev (Tyler McGinnis)

UI.dev (Tyler McGinnis) thumbnail

UI.dev (formerly tylermcginnis.com) is the online course platform of Tyler McGinnis, a US developer who has been publishing React and JavaScript educational material continuously since 2014. The platform was one of the earliest dedicated React-tutorial sources and remains widely cited for the depth of its long-form courses on JavaScript fundamentals and the React ecosystem.

Course material covers React (including modern hooks-based patterns and Next.js), modern JavaScript (the canonical Modern JavaScript course), Firebase, GraphQL, Redux, TypeScript with React, and the algorithm / data-structure interview prep track. The teaching style is unusually rigorous about the language fundamentals underneath the framework material — Tyler's Modern JavaScript course in particular is a classic of the genre.

The CourseFlix listing under this source carries over 15 UI.dev / Tyler McGinnis courses spanning that range. Material is paid; UI.dev runs on per-course or membership pricing on the original platform.

Watch Online 76 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 76 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction, Philosophy, and Tips
All Course Lessons (76)
#Lesson TitleDurationAccess
1
Introduction, Philosophy, and Tips Demo
03:22
2
Why TypeScript?
05:34
3
JavaScript Types
08:57
4
Basic TypeScript Configuration
06:49
5
Implicit Type Checking
04:15
6
Adding Type Annotations
05:47
7
Typing Function Declarations
08:42
8
(Practice) Type Annotations
00:39
9
(Solution) Type Annotations
02:31
10
`any` and `unknown` types
05:27
11
Interfaces
11:07
12
(Practice) Interfaces
00:34
13
(Solution) Interfaces
02:24
14
Enum and Tuple Types
09:55
15
Void and Never Types
03:05
16
`type` aliases
04:35
17
Union Types
04:41
18
Intersection Types
02:50
19
Literal Types
02:39
20
(Practice) Union & Literal Types
01:25
21
(Solution) Union & Literal Types
02:54
22
(Project) Starting Template
02:46
23
(Project) Adding Initial Types
02:49
24
(Project) Cell Event Handler
01:49
25
(Project) Win Condition
08:20
26
Class Definition
07:51
27
Modifiers
08:42
28
(Practice) Classes
01:48
29
(Solution) Classes
03:24
30
TypeScript Operators
06:59
31
(Bonus) Advanced Function Typing
03:19
32
Common Type Guards
08:35
33
Handling null and undefined
06:48
34
(Practice) Narrowing Types
00:29
35
(Solution) Narrowing Types
05:29
36
(Bonus) Structural vs Nominal Typing
06:55
37
Discriminating Unions
02:31
38
(Practice) Discriminating Unions
01:03
39
(Solution) Discriminating Unions
01:47
40
Assertion Signatures
06:59
41
User Defined Type Guards
05:42
42
(Practice) User Defined Type Guards
00:33
43
(Solution) User Defined Type Guards
02:27
44
Generics
12:41
45
(Bonus) Zustand Implementation
11:11
46
(Practice) Generics
00:44
47
(Solution) Generics
01:55
48
(Bonus) Thinking In Types
04:34
49
Mapped Types
05:31
50
Conditional Types
11:00
51
(Practice) Utility Types
01:10
52
(Solution) Utility Types
11:17
53
(Bonus) ES Modules In Depth
06:57
54
Modules in TypeScript
06:14
55
(Bonus) TypeScript Namespaces
03:41
56
Built-In Type Definitions
03:12
57
(Bonus) Outputting TypeScript Definitions
02:48
58
Definitely Typed and @types/ packages
03:55
59
Additional TSConfig.json options
08:36
60
(Bonus) How the `target` field works
05:05
61
Module Resolution
12:47
62
(Bonus) Configuring for Webpack Development
04:41
63
(Bonus) Configuring for Babel Development
02:50
64
(Bonus) Configuring for Modern Web Development
05:17
65
(Bonus) Configuring for Node Development
05:09
66
(Bonus) Configuring for Library Development with TSDX
02:09
67
Recursive Conditional Types
04:28
68
Template Literal Types
09:48
69
Mapped Types Key Remapping
06:42
70
Unexpected TypeScript Behavior (
10:48
71
(Bonus) Experimental Decorators
05:33
72
(Project) Initial NodeJS Setup
03:38
73
(Project) Static Web Server
06:08
74
(Project) Multiple Routes
04:57
75
(Project) Dynamic API Route
05:23
76
Outro
01:26
Unlock unlimited learning

Get instant access to all 75 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What are the prerequisites for enrolling in this TypeScript course?
Before starting this TypeScript course, you should have a fundamental understanding of JavaScript, particularly its basic types. This foundation is necessary as TypeScript builds upon JavaScript by adding clear type definitions. The course begins with a lesson on JavaScript Types to ensure you have the necessary background.
What will I build during the TypeScript course?
The course includes a project component where you will work on a cell event handler and a win condition. These exercises are designed to help you apply what you learn about adding initial types, handling events, and defining classes within a TypeScript framework.
Who is the target audience for this TypeScript course?
This course is ideal for JavaScript developers looking to enhance their type safety and code quality with TypeScript. It's also suitable for those interested in understanding how TypeScript can improve development workflows by adding type annotations and leveraging advanced typing features.
How does the depth of this course compare to other similar courses?
With 76 lessons totaling over 6 hours, this course offers comprehensive coverage of TypeScript concepts, from basic configurations to advanced topics like generics and utility types. It includes practical exercises and projects, providing more depth than introductory courses focused solely on syntax.
Which specific tools and platforms are covered in the course?
The course covers setting up TypeScript tools, configuring TSConfig.json, and using @types/ packages from Definitely Typed. It also explores the use of modules in TypeScript and discusses additional TSConfig.json options to optimize your development environment.
What topics are not covered in this TypeScript course?
While the course covers a wide range of TypeScript features, it does not delve into front-end frameworks like React or Angular. The focus is on the core TypeScript language and its application in general programming tasks rather than specific frameworks.
How will the skills learned in this course benefit my career or other courses?
The skills gained from this TypeScript course will enhance your ability to write type-safe JavaScript, making your code more robust and maintainable. These skills are applicable in many modern web development roles and can be beneficial if you pursue further courses in JavaScript frameworks that leverage TypeScript, such as Angular.