TypeScript (TS1)
Programming, JavaScript
This course gives a complete overview of TypeScript, showing how easily you can migrate from JavaScript while keeping backward compatibility. It explains why TypeScript speeds up refactoring and helps large teams manage complex codebases reliably.
Hands-on labs cover the Node.js environment, editor setups and compilation configuration, plus browser and Node debugging. Each module uses practical use cases you keep after the course to review and reuse later.
THIS TRAINING COURSE WILL HELP YOU:
- Migrate JavaScript projects to TypeScript safely
- Use static types for safer refactoring and maintenance
- Set up Node.js, editors, and TypeScript build configs
- Write and use declaration files and advanced type patterns
WHO SHOULD ATTEND?
- Frontend and backend JavaScript developers
- Teams working on medium to large codebases
- Developers maintaining legacy JavaScript projects
- Engineers wanting safer refactoring and type safety
COURSE LOCATION AND AVAILABLE DATES
Private training
This course is not scheduled as a public course.
It is delivered exclusively as customised training. The content, duration, date, and delivery format are tailored to the customer's requirements and can also be provided in English.
Request customised training
Course content:
Hide details
-
Introduction to TypeScript
-
Why TypeScript
-
Installation
-
Editors
-
Source and output configuration
-
What are declaration files and source maps
-
Hello World
-
Debugging TypeScript in the browser and Node.js
-
TypeScript Playground
-
ES6+ syntax
-
var, let, const declarations
-
Arrow functions
-
Parameter types and default values
-
Passing functions as arguments
-
Return types
-
Rest parameters and spread syntax
-
The `this` context
-
Basic types in TypeScript
-
Primitive/basic types
-
any, unknown, never types
-
Class syntax extensions beyond ES6
-
Instance and static class members
-
Inheritance
-
Access modifiers
-
Constructor syntax
-
Getters and setters
-
The `abstract` modifier
-
Calling parent class members
-
Typing objects
-
Property modifiers
-
The `readonly` modifier
-
Interfaces
-
Interface syntax options in TS
-
Extending interfaces from classes and why it matters
-
Enums
-
Purpose and use of enums and flag types
-
Bitwise representation for multiple states in one value
-
Checking flag presence with bitwise operations
-
Custom types and Tuples
-
Tuples
-
Custom/type aliases
-
Typing arrays and dynamic objects
-
Modules and namespaces
-
ES6 module syntax options
-
import, export, export default syntax
-
namespace syntax options
-
Module loading strategies by application type
-
Other TypeScript features
-
Union types
-
Intersection types
-
Decorators
-
Triple-slash directives
-
JSX
-
keyof and typeof operators
-
Indexed access types
-
Conditional and mapped types
-
Get array element type
-
Template literal types
-
Generic types
-
Why generics matter (introductory contact)
-
Generic classes
-
Generic functions
-
Constraining generic types
-
Types based on previous input values
-
Types from a type map
-
Types derived from keys of a previous input collection
-
Additional generic syntax options
-
Asynchronous code
-
The Promise type — what it's for
-
Writing async code with async/await
-
Converting callback code to Promises
-
Handling async exceptions
-
Awaitable semaphores and mutexes
-
Declaration files
-
Ambient context in source code
-
declare syntax options
-
Conditional types with extends and infer
-
Types derived from function or constructor arguments
-
Hybrid types
-
Advanced configuration
-
Defining sources with include/exclude
-
Implicit this/any
-
Strict mode
-
Iterating collections like Map and Set
-
External and custom type definition files
-
Merging type definitions
-
Utility functions for type manipulation
-
Migration to TypeScript
-
Incremental upgrade: older JS and TS together
-
Defining types for existing JS libraries and classes
-
Prerequisites:
-
Familiarity with OOP in JavaScript or other languages and basic HTML/CSS; knowledge of generics is a plus.
-
Recommended previous course:
-
Advanced JavaScript and Introduction to Node.js (JVS2)
-
Schedule:
-
3 days (9:00-17:00)
Training and learning environment
What does the environment for in-person IT courses look like?We hold training courses in our own classrooms equipped with modern computer equipment for each participant and a large projection screen. Each workstation is fitted with a powerful computer for seamless practical exercises, and the environment supports a calm, friendly atmosphere during training.
Do I need to bring my own laptop to the classroom IT course?Our training rooms are fully equipped, so you do not need to bring your own laptop. A modern computer with all necessary hardware and software is ready for you at your workstation.
Will you receive an official certificate after completing an IT course?Yes, upon successful completion of the training course, you will receive an official ICT Pro certificate confirming your participation and acquired technical skills. You can use it to verify your qualifications or add it to your professional profile.
Where can you find our training center in Brno?The premises of the ICT Pro training center are located on the 1st floor of the COMGUARD building at Sochorova 38 in Brno. Positioned on the border of Žabovřesky and Komín, the location is easily accessible by both car and public transport.
Where can you find our training center in Prague?The premises of the ICT Pro training center are located on the 1st floor of the Opatov Park building at Líbalova 1, Prague 11 – Chodov. The location provides a comfortable environment for your education with convenient access.
What facilities and refreshments are available to you during training breaks?Our training centers feature a fully equipped kitchenette for a comfortable break during your courses. The facilities include a coffee machine, microwave, kettle, and a wide selection of drinks and snacks.
What beverage refreshments are available during your course?A beverage station with a coffee machine, teas, syrups, and water is at your disposal throughout the entire training session. You can enjoy a coffee or another drink of your choice anytime during breaks.
What light refreshments are provided for you during the courses?During course breaks, participants can enjoy light sweet snacks, pastries, and fruit syrups to mix their own drinks. Fresh water dispenser and plates are also available for your convenience.
Should I bring my own snacks to ICT Pro training?There is no need to. A wide selection of savory snacks, sweet biscuits, and snack bars is available for you during breaks. Boost your energy for all-day focus right inside the training center premises.
Can you spend training breaks in the fresh air?Yes, an outdoor terrace is available at our training center. During breaks between learning sessions, you can relax in the fresh air in a pleasant green environment.
Where can you relax during course breaks?Our training center features a spacious outdoor terrace with seating options. During breaks between learning sessions, you can step outside to relax and recharge in the fresh air.