Урок 1.00:01:32
Welcome to the Course
Урок 2.00:02:55
What Is TypeScript?
Урок 3.00:05:33
Why Would You Use TypeScript?
Урок 4.00:06:19
Compiling TypeScript To JavaScript
Урок 5.00:02:12
Editor & Project Setup
Урок 6.00:01:41
About The Course
Урок 7.00:03:30
How To Get The Most Out Of This Course
Урок 8.00:01:13
Module Introduction
Урок 9.00:02:57
Project Setup
Урок 10.00:04:45
Working with Types & Exploring Built-in Types
Урок 11.00:02:54
Vanilla JavaScript Has Types, Too!
Урок 12.00:03:00
Type Inference vs Type Assignment
Урок 13.00:02:46
Assigning Types To Function Parameters
Урок 14.00:03:03
The "any" Type
Урок 15.00:02:03
Understanding Union Types
Урок 16.00:02:29
Arrays & Types
Урок 17.00:01:57
Advanced Array Types
Урок 18.00:01:47
A First Glimpse At Generic Types - Alternative Array Type Declaration
Урок 19.00:03:16
Making Sense of Tuples
Урок 20.00:04:49
Object Types
Урок 21.00:02:26
Tricky: The "Must Not Be Null" Type
Урок 22.00:04:56
Flexible Objects with the Record Type
Урок 23.00:06:40
Working with Enums
Урок 24.00:05:05
Being Specific With Literal Types
Урок 25.00:04:14
Type Aliases & Custom Types
Урок 26.00:03:05
Function Return Value Types
Урок 27.00:01:29
The "void" Type
Урок 28.00:03:17
The "never" Type
Урок 29.00:08:37
Functions As Types
Урок 30.00:02:41
null & undefined - Special Types
Урок 31.00:03:30
Inferred null & A First Look At Type Narrowing
Урок 32.00:05:21
Forced "Not Null" And Optional Chaining
Урок 33.00:04:27
Type Casting
Урок 34.00:05:23
The "unknown" Type
Урок 35.00:02:42
Optional Values & TypeScript
Урок 36.00:05:37
Nullish Coalescing
Урок 37.00:01:27
Module Introduction
Урок 38.00:02:47
TypeScript Project Setup & Creating a tsconfig.json File
Урок 39.00:05:32
Exploring tsconfig Options: Target & Libs
Урок 40.00:05:17
Controlling File Input & Emission
Урок 41.00:03:17
Configuring Type Checking
Урок 42.00:01:29
Compiling with tsconfig
Урок 43.00:01:02
Using TypeScript's Watch Mode
Урок 44.00:05:37
Installing Type Packages
Урок 45.00:01:25
Module Introduction
Урок 46.00:04:43
Getting Started & First Steps
Урок 47.00:04:04
Creating a First Custom Type
Урок 48.00:03:34
Defining a Function with a Union Type Return Value
Урок 49.00:09:58
Adding Application Logic
Урок 50.00:03:53
Connecting Functions & Passing Values
Урок 51.00:03:34
Compilation & Execution
Урок 52.00:03:40
Module Introduction
Урок 53.00:06:36
"let" and "const"
Урок 54.00:04:51
Arrow Functions
Урок 55.00:02:10
Default Function Parameters
Урок 56.00:04:33
The Spread Operator (...)
Урок 57.00:05:05
Rest Parameters
Урок 58.00:05:18
Array & Object Destructuring
Урок 59.00:01:38
How Code Gets Compiled & Wrap Up
Урок 60.00:01:03
Module Introduction
Урок 61.00:01:24
What are Classes?
Урок 62.00:06:05
Creating a First Class
Урок 63.00:05:19
A Useful TypeScript Shortcut & Compiling to JavaScript
Урок 64.00:05:48
Making Sense of "public" and "private"
Урок 65.00:01:54
Marking Fields as "readonly"
Урок 66.00:03:32
Understanding Getters
Урок 67.00:05:07
Setting Values with Setters
Урок 68.00:02:31
Exploring Static Properties & Methods
Урок 69.00:03:24
Understanding Inheritance
Урок 70.00:02:34
The "protected" Modifier
Урок 71.00:04:26
Making Sense Of Abstract Classes
Урок 72.00:01:39
Introducing Interfaces
Урок 73.00:03:58
Creating a First Interface
Урок 74.00:01:44
Interfaces As Object Types
Урок 75.00:04:04
Interfaces vs Type Aliases & Understanding Declaration Merging
Урок 76.00:03:11
Implementing Interfaces
Урок 77.00:01:53
Ensuring Base Types with Interfaces
Урок 78.00:01:55
Extending Interfaces
Урок 79.00:01:01
How Interfaces Get (Not) Compiled To JavaScript
Урок 80.00:00:49
Module Introduction
Урок 81.00:04:37
Introducing Intersection Types
Урок 82.00:05:31
Revisiting Type Guards
Урок 83.00:04:34
Exploring Discriminated Unions
Урок 84.00:02:38
Guards with "instanceof"
Урок 85.00:03:15
"Outsourcing" Type Guards & Working with Type Predicates
Урок 86.00:04:40
The Case For Function Overloads
Урок 87.00:02:32
Using Function Overloads
Урок 88.00:05:03
Working with Index Types
Урок 89.00:02:53
Constant Types with "as const"
Урок 90.00:01:46
Revisiting the Record Type
Урок 91.00:07:50
The "satisfies" Keyword
Урок 92.00:00:50
Module Introduction
Урок 93.00:01:57
A Generic Type We Already Know
Урок 94.00:02:02
Understanding Generic Types
Урок 95.00:06:17
Creating & Using a Generic Type
Урок 96.00:05:10
Generic Functions & Inference
Урок 97.00:02:01
Working with Multiple Generic Parameters
Урок 98.00:04:04
Generics & Constraints
Урок 99.00:02:43
Constraints & Multiple Generic Types
Урок 100.00:02:07
Working with Generic Classes & Interfaces
Урок 101.00:01:04
Summary
Урок 102.00:00:50
Module Introduction
Урок 103.00:01:36
What Is A Linked List?
Урок 104.00:04:50
Creating List & Node Classes
Урок 105.00:03:12
Making the Class Generic
Урок 106.00:06:46
Adding an "add" Method
Урок 107.00:03:08
Adding Items More Efficiently
Урок 108.00:04:00
Accessing the Data & Compiling + Running the Code
Урок 109.00:01:55
Finishing the Linked List
Урок 110.00:00:49
Module Introduction
Урок 111.00:04:48
Using "typeof"
Урок 112.00:04:07
"typeof" & A More Useful Example
Урок 113.00:02:23
Extracting Keys with "keyof"
Урок 114.00:06:27
"keyof" & A More Useful Example
Урок 115.00:04:36
Understanding Indexed Access Types
Урок 116.00:03:55
Accessing Array Elements with Indexed Access Types
Урок 117.00:07:53
Introducing Mapped Types
Урок 118.00:07:23
Readonly Types & Optional Mapping
Урок 119.00:10:14
Exploring Template Literal Types
Урок 120.00:09:27
Introducing Conditional Types
Урок 121.00:06:05
Conditional Types - Another Example
Урок 122.00:07:29
Making Sense of the "infer" Keyword
Урок 123.00:02:58
TypeScript's Got You Covered: Built-in Utility Types
Урок 124.00:00:52
Module Introduction
Урок 125.00:07:10
What Are Decorators? And ECMAScript Decorators vs Experimental Decorators
Урок 126.00:01:18
Exploring Different Types of Decorators
Урок 127.00:08:10
Building a First Decorator
Урок 128.00:05:26
Building a Class Decorators That Edits a Class
Урок 129.00:03:08
Understanding Decorator Code Execution Order
Урок 130.00:04:18
Creating a Method Decorator
Урок 131.00:04:10
Using Decorators To Solve A Common Problem
Урок 132.00:03:45
Implementing A Decorator-based Solution: autobind
Урок 133.00:03:39
Replacing Methods with Decorators
Урок 134.00:04:44
Introducing the Field Decorator
Урок 135.00:04:02
Building Configurable Decorators with Factories
Урок 136.00:00:41
Onwards to Experimental Decorators
Урок 137.00:01:56
Module Introduction
Урок 138.00:05:22
A First Class Decorator
Урок 139.00:02:03
Working with Decorator Factories
Урок 140.00:06:00
Building More Useful Decorators
Урок 141.00:02:53
Adding Multiple Decorators
Урок 142.00:05:01
Diving into Property Decorators
Урок 143.00:05:37
Accessor & Parameter Decorators
Урок 144.00:03:12
When Do Decorators Execute?
Урок 145.00:08:38
Returning (and changing) a Class in a Class Decorator
Урок 146.00:03:45
Other Decorator Return Types
Урок 147.00:09:05
Example: Creating an "Autobind" Decorator
Урок 148.00:07:29
Validation with Decorators - First Steps
Урок 149.00:12:15
Validation with Decorators - Finished
Урок 150.00:03:22
Wrap Up
Урок 151.00:01:33
Module Introduction
Урок 152.00:05:21
Getting Started
Урок 153.00:11:44
DOM Element Selection & OOP Rendering
Урок 154.00:08:04
Interacting with DOM Elements
Урок 155.00:04:45
Creating & Using an "Autobind" Decorator
Урок 156.00:09:15
Fetching User Input
Урок 157.00:14:11
Creating a Re-Usable Validation Functionality
Урок 158.00:11:19
Rendering Project Lists
Урок 159.00:15:33
Managing Application State with Singletons
Урок 160.00:07:12
More Classes & Custom Types
Урок 161.00:06:00
Filtering Projects with Enums
Урок 162.00:18:41
Adding Inheritance & Generics
Урок 163.00:11:59
Rendering Project Items with a Class
Урок 164.00:03:34
Using a Getter
Урок 165.00:10:25
Utilizing Interfaces to Implement Drag & Drop
Урок 166.00:05:59
Drag Events & Reflecting the Current State in the UI
Урок 167.00:08:09
Adding a Droppable Area
Урок 168.00:06:45
Finishing Drag & Drop
Урок 169.00:01:23
Wrap Up
Урок 170.00:01:25
Module Introduction
Урок 171.00:02:35
Writing Module Code - Your Options
Урок 172.00:10:51
Working with Namespaces
Урок 173.00:08:42
Organizing Files & Folders
Урок 174.00:02:53
A Problem with Namespace Imports
Урок 175.00:12:21
Using ES Modules
Урок 176.00:04:58
Understanding various Import & Export Syntaxes
Урок 177.00:01:44
How Does Code In Modules Execute?
Урок 178.00:02:17
Understanding "type" Imports
Урок 179.00:03:15
Wrap Up
Урок 180.00:01:15
Module Introduction
Урок 181.00:03:36
The Problem With The TypeScript Compiler
Урок 182.00:04:14
Building with Webpack or ESBuild
Урок 183.00:02:26
Introducing Vite
Урок 184.00:07:22
Using Vite
Урок 185.00:01:50
Installing TypeScript on a Per-Project Basis
Урок 186.00:02:34
Making Sense of .d.ts Files
Урок 187.00:01:57
Importing non-TS Files
Урок 188.00:00:47
Wrap Up
Урок 189.00:01:02
Module Introduction
Урок 190.00:05:33
What is Webpack & Why do we need it?
Урок 191.00:03:56
Installing Webpack & Important Dependencies
Урок 192.00:05:58
Adding Entry & Output Configuration
Урок 193.00:07:01
Adding TypeScript Support with the ts-loader Package
Урок 194.00:03:34
Finishing the Setup & Adding webpack-dev-server
Урок 195.00:04:05
Adding a Production Workflow
Урок 196.00:01:42
Wrap Up
Урок 197.00:01:10
Module Introduction
Урок 198.00:03:44
Facing Problems with JS Libraries in TS Projects
Урок 199.00:04:41
Bridging the Gap with @types Packages
Урок 200.00:06:44
Exploring .d.ts Files
Урок 201.00:02:22
There Are Libraries With Great TypeScript Support!
Урок 202.00:08:03
Exploring Zod as a TypeScript-first Library
Урок 203.00:04:26
Defining a More Complex Zod Schema
Урок 204.00:04:17
Runtime vs Compile-time Types with Zod
Урок 205.00:00:42
Module Introduction
Урок 206.00:03:57
Project Setup
Урок 207.00:02:42
Getting User Input
Урок 208.00:02:49
Setting Up a Google API Key
Урок 209.00:10:15
Using Axios to Fetch Coordinates for an Entered Address
Урок 210.00:06:36
Rendering a Map with Google Maps (incl. Types!)
Урок 211.00:01:23
Module Introduction
Урок 212.00:04:09
Creating a React + TypeScript Project
Урок 213.00:05:48
Typing Components & Props
Урок 214.00:02:48
Using Components & Props
Урок 215.00:03:02
TypeScript, The Special "children" Prop & Optional Props
Урок 216.00:04:04
Adding Another Component With Props
Урок 217.00:02:31
An Alternative Component Function Type Syntax
Урок 218.00:02:06
Working with State & TypeScript
Урок 219.00:05:16
Passing Functions As Props
Урок 220.00:04:44
Handling Form Submission
Урок 221.00:05:41
Using Refs with TypeScript
Урок 222.00:04:06
More Function Passing & State Updating
Урок 223.00:01:07
Wrap Up
Урок 224.00:00:56
Module Introduction
Урок 225.00:03:53
Node + TypeScript - You Have Multiple Options
Урок 226.00:07:24
Project Setup & Configuration
Урок 227.00:03:29
Adding Node.js Types & Running a Basic Server
Урок 228.00:03:28
Adding & Using Express.js (and its Types)
Урок 229.00:08:29
Managing Data With Help Of TypeScript
Урок 230.00:09:39
Adding & Testing a First Route (with Data Extraction)
Урок 231.00:11:40
Finishing the Basic App
Урок 232.00:07:29
Native Node.js TypeScript Support Without Compilation (incl. tsconfig Setup)
Урок 233.00:09:02
Type Stripping vs Type Transformation
Урок 234.00:01:45
Considering Alternative Runtimes
Урок 235.00:01:16
Roundup & Next Steps
Video won't start
All the files in the zip file are dated 21/04/2020.
You mentioned update date 20/12/2020 but the downloaded has is old (21/04/2020)
Please re-upload the Dec 2020 update
Thanks