Understanding TypeScript

Boost your JavaScript projects with TypeScript: Learn all about core types, generics, TypeScript + React or Node & more!
Understanding TypeScript
File Size :
5.83 GB
Total length :
14h 56m

Category

Instructor

Maximilian Schwarzmüller

Language

Last update

2/2023

Ratings

4.6/5

Understanding TypeScript

What you’ll learn

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

Understanding TypeScript

Requirements

JavaScript knowledge is required, though you don’t need to be an Expert
NO prior TypeScript experience is required
ES6 Knowledge is a plus but not required

Description

Join this bestselling, completely updated course to learn TypeScript from the ground up, in great depth!Learn what TypeScript is, why it really is a powerful addition to JavaScript, what its features are and how to use it! Learn why TypeScript is amazing, how it improves your JavaScript code and how it helps you avoid nasty bugs and errors!This course takes you from the very basics and its most important feature (types!) to the point where you’re able to use TypeScript in any of your projects. ReactJS projects included!As TypeScript is developed by Microsoft and strongly advertised and used by Angular 2+ (Google) and other popular libraries, it’s here to stay. Indeed, TypeScript is one of the most popular web development languages you can learn these days!Gain an edge today and be amongst the first to really understand TypeScript!Learn how you can use TypeScript to bring modern JS features like destructuring, arrow functions or classes to any environment and codebase – even if it does not support those features yet!  Understand which types you may use and how you can build your own types. Learn how to write better code with types and with the many features offered by TypeScript!But, in this course, we’ll not stop after the basics! You will also learn about more advanced features (like decorators) and also how to set up workflows with  TypeScript. This includes a TypeScript-only workflow as well as a webpack workflow.You’ll also learn that you’re not limited to Angular or plain JavaScript/ TypeScript projects. Instead, a complete module covers how you may use TypeScript with ReactJS and improve your React code with TypeScript as well.Practice what you learn!Watching videos is a great way to learn. And to a lot of students, it’s the best way. If you also want to practice the things you learn, this course offers you more than that though. Because this course comes with plenty of exercises (and solutions, of course) in addition to all the high-quality learning videos.So much Content!I’m not a fan of these courses which teach you the basics and then leave you alone. Instead, in this course you’ll get insights into:Types and how to use themHow the TypeScript compiler works (and how you may configure it)ES6 features with TypeScriptClasses in TypeScriptNamespaces and modulesInterfacesGenericsDecoratorsHow to integrate Third-Party JavaScript libraries into your TypeScript projectsHow to set up a TypeScript project with webpackOr how to set up a plain-TypeScript workflowHow to use TypeScript together with ReactJSHow to use TypeScript together with Node/ ExpressReal projects and use-cases!And so much more!

Overview

Section 1: Getting Started

Lecture 1 Welcome to the Course!

Lecture 2 What Is TypeScript & Why Should You Use It?

Lecture 3 Join Our Learning Community

Lecture 4 Installing & Using TypeScript

Lecture 5 TypeScript Advantages – Overview

Lecture 6 Course Outline

Lecture 7 How To Get The Most Out Of The Course

Lecture 8 Setting Up A Code Editor / IDE

Lecture 9 The Course Project Setup

Section 2: TypeScript Basics & Basic Types

Lecture 10 Module Introduction

Lecture 11 Using Types

Lecture 12 TypeScript Types vs JavaScript Types

Lecture 13 Important: Type Casing

Lecture 14 Working with Numbers, Strings & Booleans

Lecture 15 Type Assignment & Type Inference

Lecture 16 Object Types

Lecture 17 Nested Objects & Types

Lecture 18 Arrays Types

Lecture 19 Working with Tuples

Lecture 20 Working with Enums

Lecture 21 The “any” Type

Lecture 22 Union Types

Lecture 23 Literal Types

Lecture 24 Type Aliases / Custom Types

Lecture 25 Type Aliases & Object Types

Lecture 26 Function Return Types & “void”

Lecture 27 Functions as Types

Lecture 28 Function Types & Callbacks

Lecture 29 The “unknown” Type

Lecture 30 The “never” Type

Lecture 31 Wrap Up

Lecture 32 Useful Resources & Links

Section 3: The TypeScript Compiler (and its Configuration)

Lecture 33 Module Introduction

Lecture 34 Using “Watch Mode”

Lecture 35 Compiling the Entire Project / Multiple Files

Lecture 36 Including & Excluding Files

Lecture 37 Setting a Compilation Target

Lecture 38 Understanding TypeScript Core Libs

Lecture 39 More Configuration & Compilation Options

Lecture 40 Working with Source Maps

Lecture 41 rootDir and outDir

Lecture 42 Stop Emitting Files on Compilation Errors

Lecture 43 Strict Compilation

Lecture 44 Code Quality Options

Lecture 45 Debugging with Visual Studio Code

Lecture 46 Wrap Up

Lecture 47 Useful Resources & Links

Section 4: Next-generation JavaScript & TypeScript

Lecture 48 Module Introduction

Lecture 49 “let” and “const”

Lecture 50 Arrow Functions

Lecture 51 Default Function Parameters

Lecture 52 The Spread Operator (…)

Lecture 53 Rest Parameters

Lecture 54 Array & Object Destructuring

Lecture 55 How Code Gets Compiled & Wrap Up

Lecture 56 Useful Resources & Links

Section 5: Classes & Interfaces

Lecture 57 Module Introduction

Lecture 58 What are Classes?

Lecture 59 Creating a First Class

Lecture 60 Compiling to JavaScript

Lecture 61 Constructor Functions & The “this” Keyword

Lecture 62 “private” and “public” Access Modifiers

Lecture 63 Shorthand Initialization

Lecture 64 “readonly” Properties

Lecture 65 Inheritance

Lecture 66 Overriding Properties & The “protected” Modifier

Lecture 67 Getters & Setters

Lecture 68 Static Methods & Properties

Lecture 69 Abstract Classes

Lecture 70 Singletons & Private Constructors

Lecture 71 Classes – A Summary

Lecture 72 A First Interface

Lecture 73 Using Interfaces with Classes

Lecture 74 Why Interfaces?

Lecture 75 Readonly Interface Properties

Lecture 76 Extending Interfaces

Lecture 77 Interfaces as Function Types

Lecture 78 Optional Parameters & Properties

Lecture 79 Compiling Interfaces to JavaScript

Lecture 80 Wrap Up

Lecture 81 Useful Resources & Links

Section 6: Advanced Types

Lecture 82 Module Introduction

Lecture 83 Intersection Types

Lecture 84 More on Type Guards

Lecture 85 Discriminated Unions

Lecture 86 Type Casting

Lecture 87 Index Properties

Lecture 88 Function Overloads

Lecture 89 Optional Chaining

Lecture 90 Nullish Coalescing

Lecture 91 Wrap Up

Lecture 92 Useful Resources & Links

Section 7: Generics

Lecture 93 Module Introduction

Lecture 94 Built-in Generics & What are Generics?

Lecture 95 Creating a Generic Function

Lecture 96 Working with Constraints

Lecture 97 Another Generic Function

Lecture 98 The “keyof” Constraint

Lecture 99 Generic Classes

Lecture 100 A First Summary

Lecture 101 Generic Utility Types

Lecture 102 Generic Types vs Union Types

Lecture 103 Useful Resources & Links

Section 8: Decorators

Lecture 104 Module Introduction

Lecture 105 A First Class Decorator

Lecture 106 Working with Decorator Factories

Lecture 107 Building More Useful Decorators

Lecture 108 Adding Multiple Decorators

Lecture 109 Diving into Property Decorators

Lecture 110 Accessor & Parameter Decorators

Lecture 111 When Do Decorators Execute?

Lecture 112 Returning (and changing) a Class in a Class Decorator

Lecture 113 Other Decorator Return Types

Lecture 114 Example: Creating an “Autobind” Decorator

Lecture 115 Validation with Decorators – First Steps

Lecture 116 Validation with Decorators – Finished

Lecture 117 Fixing a Validator Bug

Lecture 118 Wrap Up

Lecture 119 Useful Resources & Links

Section 9: Practice Time! Let’s build a Drag & Drop Project

Lecture 120 Module Introduction

Lecture 121 Getting Started

Lecture 122 DOM Element Selection & OOP Rendering

Lecture 123 Interacting with DOM Elements

Lecture 124 Creating & Using an “Autobind” Decorator

Lecture 125 Fetching User Input

Lecture 126 Creating a Re-Usable Validation Functionality

Lecture 127 Rendering Project Lists

Lecture 128 Managing Application State with Singletons

Lecture 129 More Classes & Custom Types

Lecture 130 Filtering Projects with Enums

Lecture 131 Adding Inheritance & Generics

Lecture 132 Rendering Project Items with a Class

Lecture 133 Using a Getter

Lecture 134 Utilizing Interfaces to Implement Drag & Drop

Lecture 135 Drag Events & Reflecting the Current State in the UI

Lecture 136 Adding a Droppable Area

Lecture 137 Finishing Drag & Drop

Lecture 138 Wrap Up

Lecture 139 Useful Resources & Links

Section 10: Modules & Namespaces

Lecture 140 Module Introduction

Lecture 141 Writing Module Code – Your Options

Lecture 142 Working with Namespaces

Lecture 143 Organizing Files & Folders

Lecture 144 A Problem with Namespace Imports

Lecture 145 Important: Use Chrome or Firefox

Lecture 146 Using ES Modules

Lecture 147 Understanding various Import & Export Syntaxes

Lecture 148 How Does Code In Modules Execute?

Lecture 149 Wrap Up

Lecture 150 Useful Resources & Links

Section 11: Using Webpack with TypeScript

Lecture 151 Module Introduction

Lecture 152 What is Webpack & Why do we need it?

Lecture 153 Installing Webpack & Important Dependencies

Lecture 154 Adding Entry & Output Configuration

Lecture 155 Adding TypeScript Support with the ts-loader Package

Lecture 156 Adjust Webpack Config

Lecture 157 Finishing the Setup & Adding webpack-dev-server

Lecture 158 Adding a Production Workflow

Lecture 159 Wrap Up

Lecture 160 Useful Resources & Links

Section 12: 3rd Party Libraries & TypeScript

Lecture 161 Module Introduction

Lecture 162 Using JavaScript (!) Libraries with TypeScript

Lecture 163 Using “declare” as a “Last Resort”

Lecture 164 No Types Needed: class-transformer

Lecture 165 TypeScript-embracing: class-validator

Lecture 166 Wrap Up

Lecture 167 Useful Resources & Links

Section 13: Time to Practice! Let’s build a “Select & Share a Place” App (incl. Google Maps)

Lecture 168 Module Introduction

Lecture 169 Project Setup

Lecture 170 Getting User Input

Lecture 171 Setting Up a Google API Key

Lecture 172 Using Axios to Fetch Coordinates for an Entered Address

Lecture 173 Rendering a Map with Google Maps (incl. Types!)

Lecture 174 Working with Maps without a Credit Card

Lecture 175 Useful Resources & Links

Section 14: React.js & TypeScript

Lecture 176 Module Introduction

Lecture 177 Setting Up a React + TypeScript Project

Lecture 178 How Do React + TypeScript Work Together?

Lecture 179 Working with Props and Types for Props

Lecture 180 Getting User Input with “refs”

Lecture 181 Cross-Component Communication

Lecture 182 Working with State & Types

Lecture 183 Managing State Better

Lecture 184 More Props & State Work

Lecture 185 Adding Styling

Lecture 186 Types for other React Features (e.g. Redux or Routing)

Lecture 187 Wrap Up

Lecture 188 Useful Resources & Links

Section 15: Node.js + Express & TypeScript

Lecture 189 Module Introduction

Lecture 190 Executing TypeScript Code with Node.js

Lecture 191 Setting up a Project

Lecture 192 Finished Setup & Working with Types (in Node + Express Apps)

Lecture 193 Adding Middleware & Types

Lecture 194 Working with Controllers & Parsing Request Bodies

Lecture 195 More CRUD Operations

Lecture 196 Wrap Up

Lecture 197 Useful Resources & Links

Section 16: Course Roundup

Lecture 198 Thanks for being part of the course!

This Course is for every student who wants to extend his or her horizon beyond vanilla JavaScript,Everyone learning Angular should definitely understand how TypeScript works

Course Information:

Udemy | English | 14h 56m | 5.83 GB
Created by: Maximilian Schwarzmüller

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top