Course banner

Everyday TypeScript

TypeScript types for everyday application development.

Other courses on TypeScript: TypeScript Basics, Advanced TypeScript.

About This Course
You'll Learn
TypeScript types that are useful for all types of everyday programming, including both frontend and backend web application code.
There are 52 lessons containing 421 code examples. Most people finish this course in 7 hours over 12 calendar days.
Prerequisites
Basic TypeScript knowledge like type inference, generics, literal types, and narrowing.
What Other Developers Think
I'm an experienced JS dev and have been working with TypeScript for a while, but wanted to break the habit of lazily looking up MDN docs for stuff I've done 1000 times. I already feel like I'm doing that less, thanks to the spaced repetition reviews.
— Colin G
Level 1
Impossible Conditions
Pick and Omit
Functions as Arguments
Quiz: Apply Function
Level 2
Locked Lesson IconLocked
Discriminated Unions
Error Handling With Unions
Shared Fields
Logical Operator Narrowing
Quiz: Safe Array Access
Optional Chaining
Quiz: Safe Square Root
Level 3
Locked Lesson IconLocked
Nullish Coalescing
Type Soundness
Index Signatures
Interfaces
Any
Exhaustiveness Checking
Unknown
The Object Type
As
As Is Dangerous
Object Values at Runtime
Level 4
Locked Lesson IconLocked
Type Widening
Arrays Are Objects
The Empty Object Type
Void
Never
Level 5
Locked Lesson IconLocked
Classes
Methods in Object Types
Strict Compiler Flags
Extending Types
Impossible Intersections
Quiz: Distinguishing Between Animals
Level 6
Locked Lesson IconLocked
Implementing Types
Optional Properties
Single and Multiple Inheritance
Object Spread
Function Parameters
Object Literal May Only Specify Known Properties
Types for Options Objects
Level 7
Locked Lesson IconLocked
Indexing Into Object Types
Sets
Indexing Into Tuple and Array Types
Promises
ReturnType and Parameters
Async Await
Partial
Partial in Practice
Level 8
Locked Lesson IconLocked
Exceptions
ReadonlyArray
Rejected Promises
Enum
Readonly
Namespaces
Readonly Properties vs. Values