Course Highlights
  • Use TypeScript and its Features like Types, ES6 Support, Classes, Modules, Interfaces and much more in any of their Projects
  • Understand what TypeScript really is about and how it works
  • Why TypeScript offers a real advantage over vanilla JavaScript
  • Learn TypeScript both in theory as well as applied to real use-cases and projects
  • Learn how to combine TypeScript with ReactJS or NodeJS / Express
Curriculum

10 Topics
Welcome to the Course!
What Is TypeScript & Why Should You Use It?
Join Our Learning Community
Installing & Using TypeScript
TypeScript Advantages - Overview
Course Outline
How To Get The Most Out Of The Course
Setting Up A Code Editor / IDE
Course Setup
The Course Project Setup

26 Topics
Module Introduction
Using Types
TypeScript Types vs JavaScript Types
Important: Type Casing
Working with Numbers Strings & Booleans
Type Assignment & Type Inference
Understanding Types
Object Types
Nested Objects & Types
Arrays Types
Working with Tuples
Working with Enums
The "any" Type
Union Types
Literal Types
Type Aliases / Custom Types
Type Aliases & Object Types
Core Types & Concepts
Function Return Types & "void"
Functions as Types
Function Types & Callbacks
Functions & Types
The "unknown" Type
The "never" Type
Wrap Up
Useful Resources & Links

15 Topics
Module Introduction
Using "Watch Mode"
Compiling the Entire Project / Multiple Files
Including & Excluding Files
Setting a Compilation Target
Understanding TypeScript Core Libs
More Configuration & Compilation Options
Working with Source Maps
rootDir and outDir
Stop Emitting Files on Compilation Errors
Strict Compilation
Code Quality Options
Debugging with Visual Studio Code
Wrap Up
Useful Resources & Links

9 Topics
Module Introduction
"let" and "const"
Arrow Functions
Default Function Parameters
The Spread Operator (...)
Rest Parameters
Array & Object Destructuring
How Code Gets Compiled & Wrap Up
Useful Resources & Links

28 Topics
Module Introduction
What are Classes?
Creating a First Class
Compiling to JavaScript
Constructor Functions & The "this" Keyword
"private" and "public" Access Modifiers
Shorthand Initialization
"readonly" Properties
Class Basics
Inheritance
Overriding Properties & The "protected" Modifier
Getters & Setters
Static Methods & Properties
Abstract Classes
Singletons & Private Constructors
Classes - A Summary
Classes
A First Interface
Using Interfaces with Classes
Why Interfaces?
Readonly Interface Properties
Extending Interfaces
Interfaces as Function Types
Optional Parameters & Properties
Compiling Interfaces to JavaScript
Interfaces
Wrap Up
Useful Resources & Links

12 Topics
Module Introduction
Intersection Types
More on Type Guards
Discriminated Unions
Type Casting
Index Properties
Function Overloads
Optional Chaining
Nullish Coalescing
Advanced Types
Wrap Up
Useful Resources & Links

12 Topics
Module Introduction
Built-in Generics & What are Generics?
Creating a Generic Function
Working with Constraints
Another Generic Function
The "keyof" Constraint
Generic Classes
A First Summary
Generic Utility Types
Generic Types vs Union Types
Generics
Useful Resources & Links

16 Topics
Module Introduction
A First Class Decorator
Working with Decorator Factories
Building More Useful Decorators
Adding Multiple Decorators
Diving into Property Decorators
Accessor & Parameter Decorators
When Do Decorators Execute?
Returning (and changing) a Class in a Class Decorator
Other Decorator Return Types
Example: Creating an "Autobind" Decorator
Validation with Decorators - First Steps
Validation with Decorators - Finished
Fixing a Validator Bug
Wrap Up
Useful Resources & Links

20 Topics
Module Introduction
Getting Started
DOM Element Selection & OOP Rendering
Interacting with DOM Elements
Creating & Using an "Autobind" Decorator
Fetching User Input
Creating a Re-Usable Validation Functionality
Rendering Project Lists
Managing Application State with Singletons
More Classes & Custom Types
Filtering Projects with Enums
Adding Inheritance & Generics
Rendering Project Items with a Class
Using a Getter
Utilizing Interfaces to Implement Drag & Drop
Drag Events & Reflecting the Current State in the UI
Adding a Droppable Area
Finishing Drag & Drop
Wrap Up
Useful Resources & Links

11 Topics
Module Introduction
Writing Module Code - Your Options
Working with Namespaces
Organizing Files & Folders
A Problem with Namespace Imports
Important: Use Chrome or Firefox
Using ES Modules
Understanding various Import & Export Syntaxes
How Does Code In Modules Execute?
Wrap Up
Useful Resources & Links

10 Topics
Module Introduction
What is Webpack & Why do we need it?
Installing Webpack & Important Dependencies
Adding Entry & Output Configuration
Adding TypeScript Support with the ts-loader Package
Adjust Webpack Config
Finishing the Setup & Adding webpack-dev-server
Adding a Production Workflow
Wrap Up
Useful Resources & Links

7 Topics
Module Introduction
Using JavaScript (!) Libraries with TypeScript
Using "declare" as a "Last Resort"
No Types Needed: class-transformer
TypeScript-embracing: class-validator
Wrap Up
Useful Resources & Links

8 Topics
Module Introduction
Project Setup
Getting User Input
Setting Up a Google API Key
Using Axios to Fetch Coordinates for an Entered Address
Rendering a Map with Google Maps (incl. Types!)
Working with Maps without a Credit Card
Useful Resources & Links

13 Topics
Module Introduction
Setting Up a React + TypeScript Project
How Do React + TypeScript Work Together?
Working with Props and Types for Props
Getting User Input with "refs"
Cross-Component Communication
Working with State & Types
Managing State Better
More Props & State Work
Adding Styling
Types for other React Features (e.g. Redux or Routing)
Wrap Up
Useful Resources & Links

9 Topics
Module Introduction
Executing TypeScript Code with Node.js
Setting up a Project
Finished Setup & Working with Types (in Node + Express Apps)
Adding Middleware & Types
Working with Controllers & Parsing Request Bodies
More CRUD Operations
Wrap Up
Useful Resources & Links

1 Topic
Thanks for being part of the course!

  Write a Review

Understanding TypeScript

Go to Paid Course