About Course
In the course we will analyze TypeScript from scratch, so you will only be required to have basic knowledge of JavaScript. In the course, we will not only learn all the features of TypeScript, but also practice through exercises and writing the final project – an extensible command execution utility. At the same time, an important part of the course will be design patterns, where we will study the behavioral, generative and structural patterns of object-oriented programming. And even for those who have already studied TypeScript, many sections will be useful, as they cover advanced topics that you may not have encountered so often before.
What Will You Learn?
- Basic and advanced TypeScript types
- Working with classes and interfaces
- Setting up a project to run TypeScript
- Writing TypeGuards
- Generics
- Conditional Types and Mapped Types
- Using utility types
- The work of decorators
- Modularity in TypeScript
- Library typings
- Design patterns in TypeScript
- Write extensible and maintainable code using an example project
Course Content
Introduction
-
Why TypeScript?
-
Important announcement!
-
How is the course structured?
-
Project overview
-
Update – Course Overview
-
Course with a mentor
Setting up the environment
-
Preparing the environment
Main types
-
Introductory video
-
Project preparation
-
Using Types
-
Types in functions
-
Objects
-
Exercise – Typing an object
-
Arrays
-
Tuples
-
Readonly
-
Enums
-
Exercise – Typing a function
-
Test – Basic types
Advanced types
-
Introductory video
-
Union
-
Literal Types
-
Type Aliases
-
Interfaces
-
Types or Interfaces?
-
Optional
-
Exercise – Typing the server response
-
Void
-
Unknown
-
Never
-
Null
-
Cast
-
Type Guard
-
Exercise – Making a response typeguard
-
Asserts
-
Quiz – Advanced Types
Classes
-
Introductory video
-
Creating a class
-
Constructor
-
Methods
-
Exercise – Method Overloading
-
Getter and Setter
-
Implements
-
Extends
-
Features of inheritance
-
Composition versus inheritance
-
Property Visibility
-
Exercise – Making a shopping cart
-
Static properties
-
Working with this
-
Typing this
-
Abstract classes
-
Exercise – Making an abstract logger
-
Test – Classes
TypeScript compiler
-
Introductory video
-
Including and excluding files
-
Compilation output
-
Language and environment
-
Modules
-
Strict mode
-
Code checks
Generics
-
Introductory video
-
Example of built-in generics
-
We write a function with generic
-
Exercise – Convert to String Function
-
Use in types
-
Generic limitation
-
Exercise – id sort function
-
Generic classes
-
Mixins
-
Test – Generics
Type manipulation
-
Introductory video
-
Keyof
-
Exercise – Writing a grouping function
-
Typeof
-
Indexed Access Types
-
Conditional Types
-
Infer
-
Mapped Types
-
Exercise – Form Validation
-
Template Literal Types
-
Test – Type Manipulations
Service types
-
Introductory video
-
Partial, Required, Readonly
-
Pick, Omit, Extract, Exclude
-
ReturnType, Parameters, ConstructorParameters
-
Awaited
-
Test – Utility Types
Decorators
-
Introductory video
-
Decorator pattern
-
Class Decorator
-
Decorator Factory
-
Exercise – CreatedAt Decorator
-
Method Decorator
-
Exercise – Error Catching Decorator
-
Property Decorator
-
Decorator accessor
-
Parameter Decorator
-
Metadata
-
Decorator order
-
Test – Decorators
Student Ratings & Reviews
No Review Yet