TypeScript is one of the most popular programming languages right now, and for good reason. It's a
highly versatile language that can be used for developing both frontend and backend applications.
Knowing TypeScript can make you a well-rounded full-stack developer who can create beautiful frontends
with libraries like React or Vue and powerful backends. TypeScript knowledge also allows you to create
cross-platform mobile applications using React Native. In this course, legendary TypeScript and React
developer Cory House will teach you everything you need to know to get you started with TypeScript and
make learning a new language as easy as possible. This course contains tens of exercises to learn by doing,
which is always the best way to learn.
Course Curriculum
3h 32m 9 sections
Welcome
00:18Free preview
What will you learn in this course?
00:30Free preview
Who is the course for and prerequisites
00:43Free preview
Why TypeScript?
03:15
Course Setup
00:36
tsc
04:21
Using TypeScript without a compiler
01:37
Bun Intro
01:50
tsconfig Intro
02:25
Course workflow
01:27
Primitive Types
03:25
Exercise: Primitive Types
00:27
Answers: Primitive Types
01:04
Type arrays and Tuples
02:21
Exercise: Type arrays and Tuples
00:39
Answers: Type arrays and Tuples
01:01
Typing objects
04:44
Exercise: Typing objects
00:51
Answers: Typing objects
01:13
Any
03:45
Exercise: Any
00:36
Answers: Any
01:15
Unknown
02:02
Exercise: Unknown
00:24
Answers: Unknown
01:29
Never
02:25
Exercise: Never
00:44
Answers: Never
01:05
Union Types
04:52
Exercise: Union Types
01:00
Answers: Union Types
01:47
Discriminated Unions
03:01
Exercise: Discriminated Unions
00:19
Answers: Discriminated Unions
01:25
Intersections
02:19
Exercise: Intersections
00:15
Answers: Intersections
00:27
Optional Fields on objects
03:13
Exercise: Optional Fields on objects
00:07
Answers: Optional Fields on objects
00:19
readonly and as
03:02
Exercise: readonly and as
00:24
Answers: readonly and as
00:39
Enums and Alternatives
08:11
Exercise: Enums and Alternatives
00:59
Answers: Enums and Alternatives
01:29
Type only features
02:52
Interface only features
01:08
Type and interface interactions
01:15
Summary: Types vs interfaces
00:28
Record
01:25
Exercise: Record
00:36
Answers: Record
00:33
Structural vs Nominal Types
04:03
Exercise: Structural vs Nominal Types
00:17
Answers: Structural vs Nominal Types
00:40
Typing Functions Basics
04:26
Exercise: Typing Functions Basics
00:34
Answers: Typing Functions Basics
01:13
Optional args
03:00
Exercise: Optional args
00:10
Answers: Optional args
00:15
Function overloads
02:53
Exercise: Function overloads
00:15
Answers: Function overloads
01:00
Rest params
02:08
Exercise: Rest params
00:44
Answers: Rest params
00:40
Declaring this
02:05
Exercise: Declaring this
00:41
Answers: Declaring this
01:24
What's a module?
03:23
Module resolution options
04:23
Exporting and importing types
04:16
Exercise: Exporting and importing types
00:45
Answers: Exporting and importing types
00:44
Type only imports
00:44
Exercise: Type only imports
00:06
Answers: Type only imports
00:07
Ambient types
03:15
Exercise: Ambient types
00:29
Answers: Ambient types
00:29
Namespaces
03:12
Exercise: Namespaces
00:26
Answers: Namespaces
00:34
Globals
01:54
Exercise: Globals
00:40
Answers: Globals
01:01
Typing classes
03:29
Exercise: Typing classes
00:22
Answers: Typing classes
00:45
field initializers
00:40
Exercise: field initializers
00:15
Answers: field initializers
00:19
Strict property initializers
01:21
Classes vs Types and interfaces
01:24
Exercise: Classes vs Types and interfaces
00:48
Answers: Classes vs Types and interfaces
00:33
Readonly fields
00:21
Exercise: Readonly fields
00:13
Answers: Readonly fields
00:15
Implements
01:06
Exercise: Implements
00:11
Answers: Implements
00:39
Private and protected fields
07:24
Exercise: Private and protected fields
00:31
Answers: Private and protected fields
00:28
Getters and setters
01:16
Exercise: Getters and setters
00:17
Answers: Getters and setters
00:51
Private and protected alternatives and edge cases
07:41
Exercise: Private and protected alternatives and edge cases
00:48
Answers: Private and protected alternatives and edge cases
Cory has trained over 10,000 software developers at events and businesses worldwide. Cory is the principal consultant at reactjsconsulting.com, where he has helped dozens of companies transition to React over the last decade. He is an eleven time Microsoft MVP, and speaks regularly at conferences around the world. Cory lives in Kansas City and is active on Twitter/X as @housecor.