TypeScript increases the efficiency and reliability of JavaScript development by adding typing. It is taken as the basis in some modern frameworks, such as Angular. But looking at trends in modern development, TypeScript is heavily used with other frameworks and environments, including React, Vue, and even Node.js.
The focus will be on the features of TypeScript, common problems and difficulties in development, and ways to solve them.
We’ll start with functions and components, then we’ll deal with advanced themes, easy customization of the environment, and the build system. In the process of writing an application in Typescript, we will study the pitfalls that arise and how to get around them correctly.
Quick Start. The TypeScript ecosystem
A brief introduction – what exactly TypeScript provides, what conveniences in development it can provide.
Basic compilation options and how they affect the build process.
TypeScript’s typing system
Understand the basic types and data structures in JavaScript and TypeScript, especially any, unknown, never, and void.
Learning about interface and type. The main differences, subtleties of use and learn how to use them.
Learning how to use Generics(). All the ways to use (interface, type, function, etc.). Learning how to use Generics constraints and default values.
Learning how to use Type Guards. Learn to write fair types and remove any from your projects.
Dealing with type derivation in TS. Learning to combine with Generics.
We study Mapped Types in detail. We learn to use them, consider their application in TS’s utilitarian types, write our own utilitarian types.
Conditional types – what are they? Why? We study them in detail and learn how to use them in our projects.
The mysterious infer and how to use it.
OOP in TypeScript
TypeScript’s OOP capabilities (inheritance, interface implementation, access modifiers, etc.)).
Abstract class – a powerful tool for your projects. Learning how to apply it.
What to do if you really need multiple inheritance? Mixins and Factories.
Decorators
Decorators and reflection. What are they? Why?
Method Decorators. How to use them and where can they be useful?
Class decorators. Getting to know the reflect library. Examine examples from Angular. Writing our own implementations.
Writing decorators for class properties.
The future of decorators in the context of TS5.