Mastering TypeScript – 2024 Edition
About Course
Unlock the power of TypeScript with this comprehensive course! Learn the essential syntax, features, and concepts of TypeScript, from the basics of the type system to advanced techniques like working with React and Webpack. This free course covers everything you need to master TypeScript and build robust, scalable applications.
Here’s what you’ll learn:
* The TypeScript type system
* Union Types
* Intersection Types
* Tuples and Enums
* Interfaces
* The TypeScript compiler and configuration
* DOM manipulation with TypeScript
* TypeScript Classes
* Generics
* Type Narrowing
* Type Declarations
* Working with 3rd party libraries
* Webpack + TypeScript workflows
* Integrating React and TypeScript
* TypeScript’s Module System
This course is completely free and available on Theetay, a platform offering a curated collection of top-rated online courses from Udemy, Udacity, Coursera, MasterClass, NearPeer, and more. Enhance your programming skills and take your coding to the next level with TypeScript!
What Will You Learn?
- The ins and outs of ALL of TypeScript's syntax
- TypeScript Interfaces, Generics, Classes, Modules, and more
- Integrate TypeScript with Webpack
- Use TypeScript with ReactJS
Course Content
Introduction
-
A Message from the Professor
-
Welcome & Course Overview
02:07 -
Course Prerequisites
01:43 -
The Case For TypeScript
03:42 -
TypeScript Overview
05:05 -
Course Material Download Link
00:00
Installation & Setup
-
Installing TypeScript
02:56 -
The TypeScript Playground
02:54 -
Installing Visual Studio Code
01:53 -
How We Use TypeScript
05:51
Type Annotation Basics
-
Our First Type Annotation
04:17 -
Working With Numbers & Booleans
01:55 -
Compiling TypeScript
03:20 -
Type Inference
02:39 -
The Any Type
02:02 -
Delayed Initialization & Implicit Any
03:31
Functions
-
Function Parameter Annotations
04:20 -
More On Function Parameter Annotations
01:52 -
Working With Default Parameters
01:49 -
Return Type Annotations
06:08 -
Anonymous Function Contextual Typing
02:18 -
The Void Type
01:57 -
The Never Type
03:10 -
Function Types EXERCISE
05:06
Object Types
-
Working With Object Types
04:02 -
More Object Types
02:53 -
Excess Properties
02:51 -
Creating Type Aliases
04:01 -
Nested Objects
07:36 -
Optional Properties
01:29 -
The readonly Modifier
02:26 -
Intersection Types
04:01 -
Object Types EXERCISE
05:15
Array Types
-
Working With Array Types
03:59 -
More Array Syntax
02:23 -
Multidimensional Arrays
01:48 -
Array Types EXERCISE
03:33
Union Types
-
Introducing Union Types
03:59 -
Type Narrowing w Union Types
07:56 -
Union Types and Arrays
04:23 -
Literal Types
04:15 -
Union Types EXERCISE
06:44
Tuples and Enums
-
Introducing Tuples
03:54 -
A Bit More On Tuples
06:33 -
Introducing Enums
06:15 -
A Bit More On Enums!
03:08 -
Enums Behind The Scenes
05:30
Interfaces
-
Introducing Interfaces
03:45 -
Readonly and Optional Interface Properties
02:14 -
Interface Methods
02:40 -
Interface Method Parameters
03:34 -
Reopening Interfaces
02:37 -
Extending Interfaces
03:22 -
Interface Multiple Inheritance
03:22 -
Interfaces Vs. Type Aliases
04:08
The TypeScript Compiler
-
Compiling to JavaScript
05:16 -
Watch Mode
02:16 -
Working With Multiple Files
04:00 -
The Files Compiler Option
03:42 -
Include & Exclude Options
05:51 -
Outdir Option
01:37 -
Target Option
02:15 -
Strict Option
05:22 -
Compiler Options Wrap Up
02:25
Mini Project The DOM, Type Assertions, and More!
-
A Simple Project Setup
07:20 -
Working With The DOM
07:29 -
The Lib Compiler Option
06:17 -
TypeScript’s Non-Null Assertion Operator
06:48 -
Type Assertions
02:49 -
Type Assertions With the DOM
07:42 -
Working With Events
05:57 -
Building The Todo List
06:51 -
Adding in an Interface
05:08 -
Connecting to LocalStorage
07:10 -
Todo List Finishing Touches
05:54
Classes
-
Classes Setup
04:19 -
The Class Keyword
04:18 -
Constructors
03:10 -
Class Fields
03:57 -
Private Fields
06:19 -
Getters
02:57 -
Setters
05:43 -
Static Properties & Methods
04:01 -
Extending Classes
03:09 -
The Dreaded Super()
04:44
TypeScript Classes
-
Annotating Classes In TypeScript
04:04 -
Class Fields In TypeScript
02:00 -
readonly Class Properties
01:19 -
The public Modifier
02:09 -
The private Modifier
05:41 -
Parameter Properties Shorthand
03:10 -
Getters and Setters
04:46 -
The Protected Modifier
03:00 -
Classes and Interfaces
05:08 -
Creating Abstract Classes
08:48
Generics
-
Introducing Generics
05:38 -
Another Example Of A Built-In Generic
08:01 -
Writing Our First Generic
07:12 -
Writing Another Generic Function
05:17 -
Inferred Generic Type Parameters
03:14 -
Generics Arrow Functions & TSX Files
02:17 -
Generics With Multiple Types
05:35 -
Adding Type Constraints
04:43 -
Default Type Parameters
02:51 -
Writing Generic Classes
03:27
Type Narrowing
-
Typeof Guards
05:24 -
Truthiness Guards
05:31 -
Equality Narrowing
03:34 -
Narrowing With The In Operator
06:19 -
Instanceof Narrowing
05:53 -
Working With Type Predicates
06:35 -
Discriminated Unions
10:43 -
Exhaustiveness Checks With Never
04:31
Working With Type Declarations
-
Introducing Type Declarations
04:30 -
Using 3rd Party Libraries Axios
05:49 -
Working With Axios Types
11:54 -
Installing Types Separately
08:10
Modules
-
A Note On Namespaces
03:38 -
Working Without Modules
05:37 -
Using TypeScript Modules
05:44 -
Changing Compilation Module System
06:36 -
ImportExport Syntax In Depth
06:28 -
Importing Types
05:41
Webpack & TypeScript
-
What’s The Point Of Webpack
04:23 -
Setting Up a Project
11:36 -
Installing Webpack Dependencies
04:09 -
Basic Webpack Config
10:59 -
Adding Source Maps
02:35 -
Webpack Dev Server
03:28 -
Production Configuration
07:15
React & TypeScript
-
React & TypeScript Introduction
03:44 -
Create React App With TypeScript
08:15 -
Our First Component
05:32 -
A Note on React.FC
02:35 -
Props With TypeScript
04:00 -
Creating Our ShoppingList Component
07:51 -
useState With TypeScript
05:20 -
Creating Our ShoppingItem Form
03:45 -
useRef With TypeScript
07:40 -
Updating The State
02:59 -
Finishing Touches
04:29 -
React + TypeScript Wrapup
02:00
Earn a certificate
Add this certificate to your resume to demonstrate your skills & increase your chances of getting noticed.