\
0:00 Welcome & Course Overview
2:07 Course Prerequisites
3:51 The Case For TypeScript
7:34 TypeScript Overview
& Setup\
12:39 Installing TypeScript
15:35 The TypeScript Playground
18:29 Installing Visual Studio Code
20:23 How We Use TypeScript
Annotation Basics\
26:15 Our First Type Annotation
30:32 Working With Numbers & Booleans
32:27 Compiling TypeScript
35:48 Type Inference
38:27 The Any Type
40:29 Delayed Initialization & Implicit Any
\
44:01 Function Parameter Annotations
48:21 More On Function Parameter Annotations
50:14 Working With Default Parameters
52:03 Return Type Annotations
58:12 Anonymous Function Contextual Typing
1:00:31 The Void Type
1:02:28 The Never Type
1:05:39 Function Types EXERCISE
Types\
1:10:46 Working With Object Types
1:14:49 More Object Types
1:17:42 Excess Properties
1:20:33 Creating Type Aliases
1:24:35 Nested Objects
1:32:11 Optional Properties
1:33:40 The readonly Modifier
1:36:06 Intersection Types
1:40:07 Object Types EXERCISE
Types\
1:45:23 Working With Array Types
1:49:22 More Array Syntax
1:51:46 Multidimensional Arrays
1:53:35 Array Types EXERCISE
Types\
1:57:08 Introducing Union Types
2:01:08 Type Narrowing w Union Types
2:09:04 Union Types and Arrays
2:13:28 Literal Types
2:17:44 Union Types EXERCISE
and Enums\
2:24:29 Introducing Tuples
2:28:23 A Bit More On Tuples
2:34:57 Introducing Enums
2:41:12 A Bit More On Enums!
2:44:21 Enums Behind The Scenes
\
2:49:52 Introducing Interfaces
2:53:37 Readonly and Optional Interface Properties
2:55:52 Interface Methods
2:58:32 Interface Method Parameters
3:02:07 Reopening Interfaces
3:04:44 Extending Interfaces
3:08:07 Interface Multiple Inheritance
3:11:29 Interfaces Vs. Type Aliases
TypeScript Compiler\
3:15:38 Compiling to JavaScript
3:20:55 Watch Mode
3:23:11 Working With Multiple Files
3:27:12 The Files Compiler Option
3:30:54 Include & Exclude Options
3:36:46 Outdir Option
3:38:23 Target Option
3:40:38 Strict Option
3:46:01 Compiler Options Wrap Up
Project The DOM, Type Assertions, and More!\
3:48:27 A Simple Project Setup
3:55:47 Working With The DOM
4:03:17 The Lib Compiler Option
4:09:34 TypeScript’s Non-Null Assertion Operator
4:16:23 Type Assertions
4:19:12 Type Assertions With the DOM
4:26:54 Working With Events
4:32:51 Building The Todo List
4:39:43 Adding in an Interface
4:44:51 Connecting to LocalStorage
4:52:02 Todo List Finishing Touches
\
4:57:56 Classes Setup
5:02:16 The Class Keyword
5:06:35 Constructors
5:09:46 Class Fields
5:13:43 Private Fields
5:20:03 Getters
5:23:01 Setters
5:28:44 Static Properties & Methods
5:32:45 Extending Classes
5:35:55 The Dreaded Super()
Classes\
5:40:39 Annotating Classes In TypeScript
5:44:44 Class Fields In TypeScript
5:46:44 readonly Class Properties
5:48:03 The public Modifier
5:50:13 The private Modifier
5:55:54 Parameter Properties Shorthand
5:59:05 Getters and Setters
6:03:51 The Protected Modifier
6:06:51 Classes and Interfaces
6:12:00 Creating Abstract Classes
\
6:20:49 Introducing Generics
6:26:27 Another Example Of A Built-In Generic
6:34:29 Writing Our First Generic
6:41:42 Writing Another Generic Function
6:46:59 Inferred Generic Type Parameters
6:50:13 Generics, Arrow Functions, & TSX Files
6:52:31 Generics With Multiple Types
6:58:07 Adding Type Constraints
7:02:50 Default Type Parameters
7:05:41 Writing Generic Classes
Narrowing\
7:09:09 Typeof Guards
7:14:34 Truthiness Guards
7:20:05 Equality Narrowing
7:23:40 Narrowing With The In Operator
7:29:59 Instanceof Narrowing
7:35:53 Working With Type Predicates
7:42:28 Discriminated Unions
7:53:12 Exhaustiveness Checks With Never
With Type Declarations\
7:57:44 Introducing Type Declarations
8:02:14 Using 3rd Party Libraries Axios
8:08:03 Working With Axios Types
8:19:58 Installing Types Separately
\
8:28:09 A Note On Namespaces
8:31:47 Working Without Modules
8:37:25 Using TypeScript Modules
8:43:10 Changing Compilation Module System
8:49:46 ImportExport Syntax In Depth
8:56:14 Importing Types
& TypeScript\
9:01:56 What’s The Point Of Webpack
9:06:19 Setting Up a Project
9:17:56 Installing Webpack Dependencies
9:22:05 Basic Webpack Config
9:33:05 Adding Source Maps
9:35:40 Webpack Dev Server
9:39:09 Production Configuration
& TypeScript\
9:46:24 React & TypeScript Introduction
9:50:09 Create React App With TypeScript
9:58:25 Our First Component
10:03:57 A Note on
10:06:33 Props With TypeScript
10:10:33 Creating Our ShoppingList Component
10:18:24 useState With TypeScript
10:23:44 Creating Our ShoppingItem Form
10:27:30 useRef With TypeScript
10:35:11 Updating The State
10:38:10 Finishing Touches
10:42:39 React TypeScript Wrapup