Mô tả

The only complete TypeScript course on the marketplace to get you building TypeScript apps like a pro.

This is the only complete course about TypeScript on the marketplace. Apart from giving you complete and in-depth knowledge about TypeScript, I also teach you how to use TypeScript in conjunction with other technologies such as ReactJS, Material UI, Tanstack Query/ React Query, NodeJs, Express, TypeORM, and MySQL. This is important because while developing a project, in most cases, you would not be using TypeScript in isolation.

This course contains 240+ Videos which in total contain more than 19 hours of content. I teach you the latest features of TypeScript in a very practical manner providing you with the in-depth knowledge you need to master TypeScript.

Once we are through with the theoretical part of the TypeScript and we understand the intrinsics of the language, we set off to build a full stack application. We build a task management application where you can create a new task and set the priority as well as the status of the task. We also build real-time task counters and work on a complete server state synchronization.

While building the front end of this application, you learn how to use TypeScript with React, Material UI, React Query, and Context API. And, when we build the REST API with Node as a backend service for the application, we get practical hands-on experience on how to use Typescript in conjunction with NodeJS along with Express, TypeORM, and Mysql database. If you are a full-stack developer, you can enjoy and build the complete project with me. And of you, skillsets are limited to the backend or front-end. You can choose the module based on your skills as these modules are self-contained and do not have a dependency on each other.


Detailed Breakdown Of Topics Covered In The Course:

  • What is TypeScript

  • How TypeScript helps You Write Better Code

  • Introduction To Types

  • Different types of types in TypeScript

  • Primitive types

  • Object types

  • Array types

  • Tuples

  • Enums

  • Unions 

  • Intersection types

  • Custom types

  • Type inference

  • Void

  • Never

  • Functions in TypeScript

  • Call signatures

  • Function overloading

  • Polymorphic functions   

  • Generics

  • Classes in TypeScript

  • Inheritance

  • Accessors and Mutators

  • Constructors

  • Access modifiers

  • Static members

  • Abstract classes

  • Method Overriding

  • Interfaces

  • Multiple inheritance with interfaces

  • TypeScript Compiler and how to modify it for your needs

  • JavaScript Prototypes and Objects

  • Prototypical inheritance

  • Property descriptors

  • Decorators

  • Decorator factories

  • Class decorators

  • Method decorators

  • Parameter decorators

  • Decorators on static members of a class

  • Property decorators

  • Multiple decorators and execution sequence

  • Subtypes and Supertypes

  • Typecasting

  • Type widening

  • Totality

  • Discriminated unions

  • Index Accessed types

  • KeyOff operator

  • Mapped types

  • Conditional Types 

  • Type definitions for third-party libraries

  • Building a full stack application

  • Application front-end using - TypeScript with React, Material UI, React Query / Tanstack Query, and Context API.

  • Application backend REST API using-  TypeScript with NodeJS, TypeORM, and MySql


Why You Should Learn TypeScript
TypeScript is a strongly typed programming language that builds on JavaScript. TypeScript is a superset of JavaScript and can be used along with JavaScript, allowing slow and steady upgradation. TypeScript has been voted the second most loved programming language in the Stack Overflow 2020 Developer survey.

Since the introduction of NodeJS to the community a decade ago, JavaScript has become the most widely used cross-platform programming language. While the size, scope, and complexity of JavaScript programs have grown exponentially, the JavaScript language's ability to express the relationships between different entities of code has not. The most common errors that programmers make are type errors: a specific type of value was used when a different type of value was expected. This could result from simple typos, a failure to understand a library's API surface, incorrect assumptions about runtime behavior, or other errors. TypeScript's goal is to be a static type checker for JavaScript programs.

Apart from providing type checking and strict types, TypeScript comes with a bunch of features that help you to write Object Oriented Code. These features are specific to TypeScript and do not exist in JavaScript.


Who Should Take This Course?

  • If you are an existing JavaScript developer and want to up your JavaScript game with TypeScript. This course is a perfect fit for you.

  • If you already have some basic TypeScript knowledge and want to dive deep into advanced concepts. This course is a perfect fit for you.

  • If you want to learn how to use TypeScript and existing technologies such as React, Material UI, Context API, React Query, Node, and TypeORM. This course will help you learn TypeScript in conjunction with these technologies.


Who Should Not Take This Course?

  • Since TypeScript is a superset of JavaScript, this course is not for you if you have never worked on JavaScript. You do not need to be an expert at JavaScript but should have some basic knowledge of JavaScript to benefit from this course.

  • Suppose you are a new programmer looking for your first programming language course. Then this course is not for you. Since TypeScript builds up on JavaScript, some prior knowledge of JavaScript programming is needed to be able to take this course. 

Bạn sẽ học được gì

Learn TypeScript from scratch starting with the basic type safety and types offered by TypeScript to advanced OOP features.

Deep dive into Object Oriented Programming features offered by TypeScript. Includes lectures about classes, abstract classes, access modifiers and interfaces.

Understand advanced TypeScript features such as Generics, Decorators, Totality, Type Widening, Mapped Types, Conditional Types and so on.

Create a full stack application using TypeScript and learn how to use TypeScript with technologies like React, Material UI, Tanstack Query, NodeJs, TypeORM

Use TypeScript with front-end frameworks like React JS, Tanstack/React Query, Context API and Material UI

Use TypeScript for back-end development using NodeJS, Express, TypeORM and MySQL

Yêu cầu

  • Basic knowledge of JavaScript. You do not need to be an expert.
  • NO prior TypeScript Knowledge Needed. You will learn TypeScript from scratch in this course.

Nội dung khoá học

16 sections

Introduction

12 lectures
WHAT'S INCLUDED IN THE COURSE
08:33
DEMO OF APP WE BUILD IN THE END
02:56
How To Take Full Advantage Of The Course
01:43
What Is Typescript ?
01:47
Installing NodeJS On Your Machine
02:36
Installing Typescript And Preparing Your IDE
04:27
A Note About Resources
01:49
Your First TypeScript Program
07:57
How TypeScript Helps you Catch Errors
07:28
Deep Dive into the JavaScript File Generated by TypeScript
02:25
Setting up Auto Compilation
09:47
Quiz for Introduction Section.
4 questions

All About Types

27 lectures
Module Introduction - All About Types
01:55
Introduction to Types
04:27
any Type
04:38
unknown Type
05:15
boolean Type
03:49
number Type
02:21
bigint Type
07:21
string Type
02:26
Quiz on primitive types
5 questions
Type Inference in TypeScript
04:42
Object Type
06:09
Type Aliases with type Keyword
04:23
★ Practice: Create Strictly Typed Nested Objects
00:53
★ Solution: Create Strictly Typed Nested Objects
03:55
The union types
05:15
Union Types with Primitive Types
04:22
Intersection Types In TypeScript
04:50
Index Signatures
08:24
Arrays in TypeScript
05:36
Tuples
07:05
Read only Arrays
04:22
null and undefind in TypeScript
08:28
void and never types
02:42
Enums
08:42
★ Practice: Strictly Type A Complex Object
02:19
★ Solution: Strictly Type A Complex Object
06:19
Test your knowledge about TypeScript Types.
8 questions

Functions In TypeScript

8 lectures
Module Introduction - Functions In TypeScript
00:54
Declaring Functions in TypeScript
04:32
Default and Optional Parameters
03:56
Custom Parameters and Return Types
05:26
Function Call Signatures
04:32
Intro to Function Overloading
04:23
Using Same Function With Different Params
12:47
Test your knowledge about functions in TypeScript
2 questions

Generics In TypeScript

8 lectures
Module Introduction - Generics In TypeScript
01:01
Polymorphic Implementation - Moving Away from Concrete Types
01:43
Need for Polymorphic Functions
07:05
Problem With Function Overloads
02:46
Introducing Generics
05:51
Where Can you Declare Generics
03:49
★ Practice: Implement Map Function
01:09
★ Solution: Map Function in TypeScript
06:18

Classes and Inheritance

20 lectures
Module Introduction: Classes and Inheritance
01:37
What is a class
03:06
Creating your first class
02:18
Creating an Instance of a Class
03:20
Constructor Function in Classes
03:32
This Keyword Inside Classes
04:32
Understanding Inheritance
05:39
The Super Method
07:22
Access Modifiers for Class Properties
04:03
Public and Private members
02:46
Protected Members In a Class
05:48
Which access modifier to use?
01:01
Test your knowledge about classes and access modifiers
5 questions
Shorthand For Initial Properties
02:51
Getting More Control On Members Of a class
04:31
Using a Mutator - Setter Method
04:26
Using an Accessor - Getter Method
03:54
How are getters and setters different?
03:56
Improving Our Person Class
04:23
Refactoring the Constructor Method
03:54

Abstract Classes And Interfaces

25 lectures
Module Introduction - Abstract Classes And Interfaces
01:35
Introduction To Static Properties And Methods
04:49
Introduction To Abstract Classes
08:06
Shared methods in Abstract Classes
03:22
Protected Constructor And Child Classes
04:53
Adding Holidays To Classes
06:13
Print Holidays Method
06:07
Method Overriding In Child Class
03:58
Introduction to Abstract Methods
04:24
Introduction to Interfaces
04:53
Extending Interfaces using extends keyword
05:59
Inheriting From Multiple Interfaces
08:55
Interfaces and Generics
02:47
Assigning Generics To Interfaces
04:55
Using Multiple Types as Generics
06:41
Using interfaces with classes
07:53
Multiple Classes Using the Same Interface
03:59
Implementing Multiple Interfaces
04:40
Multiple inheritance in classes using interfaces
02:36
Interfaces and Access Modifiers
02:39
Difference Between a Type and an Interface
08:38
Difference Between a Abstract Class and an Interface
06:54
Difference Between Interfaces and Abstract Classes 2
04:24
What should you use? Abstract Class or Interfaces
01:29
See what you have learnt about interfaces.
2 questions

The TypeScript Compiler

10 lectures
Module Introduction - The TypeScript Compiler
01:07
Setting up a base project
03:56
Using the watch mode
03:57
Including and Excluding Files
06:05
rootDir and outDir
03:43
Setting a Compilation Target
02:31
TypeScript Core Libs
04:16
Type Checking Options
09:13
Setting the watch Command as npm Script
02:42
Understanding Source Maps
02:48

Prototypes And Objects

13 lectures
Module Introduction - Prototypes And Objects
01:32
This Keyword In JS
04:52
Weird Behaviour Of The This Keyword
05:47
Constructor Functions
03:05
Javascript’s Own Constructor Function
07:36
Understanding Prototypes
04:04
Prototypical Inheritance Theory
02:29
Inheriting The User Properties
05:26
Inheriting The User Prototypes
04:39
Alternate Methods Of Creating Objects
02:35
Introduction To Property Descriptors
03:50
defineProperty Method
03:59
How Classes Are Syntactic Sugar On Prototypes
02:38

Decorators In TypeScript

15 lectures
Module Introduction - Decorators in TypeScript
00:55
What Are Decorators
02:09
Changes in TS Version 5
10:47
Writing Our First Decorator
04:39
When Are Decorators Invoked
02:22
Introduction To Decorator Factories
02:22
Adding To Prototype
08:21
Interfaces For Prototypes
02:42
Adding Functions to Prototypes
02:39
Using Same Decorator With Multiple Classes
03:12
Method Decorators
07:08
Static Method Decorators
02:58
Decorators For Method Parameters
03:24
Decorators For Class Properties And Accessors
05:41
Multiple Decorators And Returning Values from Class Decorators
15:15

Advanced Concepts And Features

20 lectures
Module Introduction - Advanced Concepts and Features
00:46
Understanding Subtypes And Supertypes
03:16
How TypeScript Checks Compatibility
03:48
Type Widening
04:26
Typecasting
06:49
Totality
04:30
Discriminated Unions
06:48
keying-in or Index Accessed Types
07:55
keyof operator
04:38
typeOf Operator
03:44
Mapped Types
06:04
Using Mapped Types
07:59
Conditional Types
04:38
★ Practice: Conditional Types
01:02
Solution: Conditional Types
04:00
Constraints on conditional types
06:48
Inferring With Conditional Types
06:39
Infer The Return Type Of A Function
05:10
Infer Function Arguments
06:26
Satisfies Operator (TS Version 5 feature)
04:54

Type Guards In TypeScript

6 lectures
Introduction To Type Guards
03:48
typeof Type Guards
06:01
Truthiness Narrowing
04:40
Equality Narrowing
04:48
in Operator narrowing
02:13
instanceOf Type Guards
09:45

Built In Utility Types

10 lectures
Intro To Built In Utility Types
01:58
How Do Utility Types Work Behind The Scenes
04:07
Awaited<Type>
04:53
Record<Keys, Type>
06:45
Pick<Type, Keys>
04:43
Omit<OldType, Keys>
03:16
Partial<Type>
04:54
Required<Type>
02:44
Readonly<Type>
01:57
String Manipulation Types
03:17

Building The Final Project Introduction

4 lectures
An Overview Of The Application
03:53
Development Paths
03:18
A Note About ESLint And Prettier
03:54
Using Type Definitions
02:19

Building The React Front-end

37 lectures
A Look At The Design And What We Are Going To Build
00:46
Using Create React App With TypeScript
02:46
Installing And Configuring ESLint
04:35
Installing And Configuring Prettier
02:43
Our First TSX React Component
05:11
Getting Started With Material UI
03:37
Create Custom Material UI Theme
05:52
Creating Our First Page
06:10
Breaking Dashboard Into Components
03:24
Creating Profile Component
03:10
Profile Component Layout
04:11
Adding Props
04:10
Using TypeScript With Props
04:07
Interfaces or PropTypes
05:11
Creating CreateATask Component
04:44
Creating Title And Description Components
08:11
Making Components Dynamic Using Interfaces
12:53
Using PropTypes
02:10
Creating DateField Component
07:42
Adding Props to DateField
07:07
Creating taskSelectField Component
06:11
Interfaces for taskSelectField
10:52
PropTypes And Dynamic Options
07:12
Task Area Layout
06:19
The Task Counter Component
03:21
Styling The Task Counter
02:22
Making Values Dynamic
04:13
Creating The Correct Border Color
05:36
Emitting Correct Label
05:24
Starting with the Task Component
04:42
The Task Header Component
08:06
Task Description Component
04:30
Task Footer Component
05:41
Making Task Footer Dynamic
07:09
Adding Props To Task Component
05:32
Dynamic Colors to Border In Task Component
05:42
Concluding Front-end Development
01:13

Building Node API With TypeScript

32 lectures
Module Introduction: Building Node API With TypeScript
01:55
Creating A Basic Node Server
07:33
Adding TypeScript To Node Server
03:48
Converting index.js to index.ts
04:23
Automating the Development Process
08:39
ESlint And Prettier Integration
04:21
Understanding TypeORM
04:05
Integrating TypeORM
08:28
Tools To Browse MySQL Schemas
00:28
Adding Other Dependencies
03:21
Understanding TypeORM Entities
06:27
Adding Primary Key To Task Entity
03:26
Completing Task Entity
05:54
Abstracting Routing Logic
07:11
Understanding Application Flow
02:57
Creating A Tasks Controller
02:18
Creating A TypeORM Repository
02:52
Using Repository To Get All Tasks
03:20
Setup For Testing HTTP Requests
03:16
Checking Results From Repository
04:01
Introduction to Class Transformer
03:23
Sending A Response From Tasks Router
01:56
Creating The Post Endpoint
02:29
Introduction To Express Validator
09:31
Using The Validator
06:39
Refactoring Router And Controller
11:40
Moving Validation Logic To Controller
04:15
Completing The Post Controller
06:00
Creating Update Request Validator
03:37
Creating a PUT Request Route
02:45
Implementation Of Update Method
10:07
Testing And Conclusion
02:13

Front-end And Backend Integration

32 lectures
A Quick Introduction
01:24
Introduction To React | Tanstack Query
01:35
Integrating Tanstack Query
03:41
Using the Latest Version of @tanstack Query
00:28
Introduction To Queries And Mutations
03:34
The Fetch API
11:27
Creating States For Our Form
03:30
Using States With Form Fields
03:39
Adding Button, Alert and Progress
03:44
Adding The useMutation Hook
03:16
Creating The ICreateTask Interface
02:18
Use Mutation To Create A New Task
07:00
Managing Loading States
04:00
Managing Side Effects In Mutation
08:10
Create Our First Query
05:00
Interface For GET Request
03:50
Minor Changes to ITask Interface
05:47
Adding Alert Messages
05:07
Looping Through Query Data
05:03
Setting inProgress Switch State
04:46
Create Mutation For Updating Task
04:46
onStatusChangeHandler
06:24
markCompleteHandler
02:42
countTasks Function
05:59
Working On Task Counters
03:36
Understanding Why We Need React Context
01:51
Creating React Context
08:46
Using Context In Our App
02:21
TaskStatusChangedContext
07:51
Using The Context
03:48
Updating Task List On Context Change
06:19
Testing Our App And Concluding
02:34

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.