TypeScript Programming | | Architecture and Design
TypeScript Programming
Duration
12 hours
Location
Online
Language
English
Code
WEB-015
30.10.2023 - 01.11.2023
€ 350 *
Training for 7-8 or more people? Customize trainings for your specific needs
Description
TypeScript was selected as a main language for the Angular framework, and nowadays it is widely used for React development and for building any enterprise-level Frontend applications.It gives you the possibility to use the syntax which is closer to languages like Java or C#, and allows you to write more accurate, convenient, and easy to maintain code.

After completing the course, a certificate
is issued on the Luxoft Training form
is issued on the Luxoft Training form
Objectives
- Introduce JavaScript developers to the TypeScript syntax and features
- Show participants how these features could be effectively used
Target Audience
- JavaScript developers
Prerequisites
- Prior experience with JavaScript, NPM, WebPack
Roadmap
TypeScript basics
Other types in TypeScript
Integration of TypeScript with JavaScript libraries (from npm and your own)
Classes in depth
Types in depth
Decorators
Generic types
- TypeScript: Background and foundations
- Basic types in TypeScript
- ES2015+ features used in TS
- ES2015 modules, import and export
- Type cast
- Practice (environment setup, Webpack installation and configuration, attaching TypeScript compiler)
Other types in TypeScript
- Function types
- Literal types
- Union types
- Working with null and undefined, configuring strictNullChecks
- Interfaces and structural types
- Optional properties in interfaces
- Indexable type
- Classes and interface implementation
- Extending interfaces
- Type cast
- Function types with interfaces
- Hybrid interfaces
- Function overloading
- Practice (writing an object-oriented application, using typing, classes, interfaces, encapsulation, polymorphism)
Integration of TypeScript with JavaScript libraries (from npm and your own)
- Type declaration
- Practice: connecting JS code
- Practice: connecting external JS libraries
- Practice: connecting and typing your own JS libraries
Classes in depth
- Private, protected, and public fields
- Static class fields
- Static properties
- Using class as interface
- Readonly modifier
- Class expressions
- Abstract classes
Types in depth
- Type cast
- Contextual type
- Type compatibility
- Interface merge
- Intersection types
- Local type definition
- Strict literal assignment checking
- Strict literal types and their merging
- Discriminators
- Polymorphic type this
- Type guards
- Using typeof for type guards
- Type narrowing with type guards
- Type narrowing with instanceof
- Nullable types
Decorators
- Declarative programming with decorators
- Changing property definitions with decorators
- Extending classes
- Meta-programming with decorators
- Access restriction with decorators
- Using wrappers for changing function behavior
- Decorators with parameters
- Decorator for methods
- Practice: validation of property with decorators
- Practice: implementation and configuration of logging with decorators
Generic types
- Purpose of generic type
- Working with generic arrays
- Using constraints with generic types
- Generic classes
- Generic interfaces
- Generic classes with type assertion to any
- Generic classes with overloaded methods
Schedule and prices
View:
30.10.2023 -
01.11.2023
11:00-15:00
Location:Online
Duration:12 hours
Language:English
Time:11:00-15:00
Timezone:UTC +2
Trainer:
Sonkin Vladimir
Trainer
Sonkin Vladimir
€ 350
Trainers

Sonkin Vladimir
Java and Web Technologies Expert
Vladimir has more than 12 years of experience in Java Enterprise development and has been working for Luxoft since 2006, where he is now a Senior Developer involved in one of our most important banking projects.
During this period he has been involved in several large scale software development projects for a wide array of industries such as banking, agriculture and e-commerce. As a result he has been able to work with a variety of technologies such as Java or JavaScript, used in developing complex Web applications and Web interfaces with low response time.
His main interest is in developing scalable and ergonomic Web interfaces and technologies aimed at increasing the productivity level of software developers. Since 2004, Vladimir has developed and conducted trainings on Java, Java Enterprise, SQL Server DBMS and AngularJS.
Vladimir has more than 12 years of experience in Java Enterprise development and has been working for Luxoft since 2006, where he is now a Senior Developer involved in one of our most important banking projects.
During this period he has been involved in several large scale software development projects for a wide array of industries such as banking, agriculture and e-commerce. As a result he has been able to work with a variety of technologies such as Java or JavaScript, used in developing complex Web applications and Web interfaces with low response time.
His main interest is in developing scalable and ergonomic Web interfaces and technologies aimed at increasing the productivity level of software developers. Since 2004, Vladimir has developed and conducted trainings on Java, Java Enterprise, SQL Server DBMS and AngularJS.
Courses you may be interested in
JavaScript development
In this training we look at JavaScript (EcmaScript 2015+), using JavaScript for working in browsers (UI events, manipulating HTML with DOM CSS), JavaScript modules (NPM, Webpack), working with the server (HTTP protocol, REST, AJAX, Axios, WebSocket).
React Development
This course covers the JavaScript library React.js, FLUX architecture and its most popular implementation – REDUX.
Angular Development
The Angular 9 framework has been completely redesigned to meet the current web-development requirements. Now the framework is written not in JavaScript, but TypeScript language - typed and more convenient for the development of large applications.