TypeScript

Essential TypeScript skills for advanced JavaScript developers

Designed for JavaScript developers ready to work more effectively with TypeScript, this two-day course focuses on the language features and coding practices used in typed application development. You’ll build your confidence with type definitions, object structures, reusable functions and class-based design, then apply these techniques through guided coding tasks. It is suited to developers moving beyond core JavaScript who want to strengthen their technical profile, contribute to more consistent codebases and support higher-quality delivery in front-end, back-end or full-stack roles. 

Learning objectives
  • Configure a TypeScript project  
  • Define typed variables and objects  
  • Model data with interfaces  
  • Work with unions and aliases  
  • Apply control flow narrowing  
  • Create generic functions  
  • Use advanced type utilities  
  • Structure class-based TypeScript code  
  • Improve consistency across codebases 

Key facts

Certification

This includes a certificate of attendance on course completion. 

Who it’s for

This course is suitable for developers with JavaScript experience who want to adopt TypeScript for more scalable development. 

Prerequisites

This course requires familiarity with JavaScript, particularly ES6 syntax. 

Exam information

This course does not include an exam. 

Optional extras

This course includes hands-on labs and access to learning materials for continued practice. 

Pre-course

No preparation work is required for this course. 

Course syllabus

Dive into the detail of the course by looking at the syllabus below. 

Day one
  • Session 1: Introduction
    • TypeScript vs. JavaScript
    • Installing TypeScript
    • Static type checks
    • Non-exception failures
    • Compiling TypeScript to JavaScript
    • Explicit types
    • Strictness flags
Day one
  • Session 2: Types
    • Primitive types
    • Array types
    • Variable and function type annotations
    • Object types
    • Union types
    • Aliases
    • Interfaces
    • Assertions
    • Literal types
    • null and undefined types
    • Other types
Day one
  • Session 3: Narrowing
    • What is narrowing?
    • Type guards
    • Truthiness
    • Equality
    • Membership
    • instanceof
    • Assignments
    • Control flow analysis
    • Type predicates
Day one
  • Session 4: Functions
    • Function type expressions
    • Call signatures
    • Construct signatures
    • Generic functions
    • Generic constraints
    • Optional parameters
    • Optional parameters in callbacks
    • Overloading
    • Using this in functions
    • Rest parameters and arguments
    • Parameter destructuring
    • void return type
Day two
  • Session 5: More about object types
    • Optional property modifier
    • Readonly property modifier
    • Index signatures
    • Extending types
    • Intersecting types
    • Aliases or interfaces?
    • Generic object types
    • Array types
    • Tuple types
Day two
  • Session 6: Type manipulation
    • What is type manipulation?
    • Generics
    • keyof
    • typeof
    • Indexed access types
    • Conditional types
    • Mapped types
    • Utility types
Day two
  • Session 7: Classes
    • Class members
    • Fields
    • Constructors
    • Methods
    • Getters and setters
    • Class heritage
    • extends
    • implements
    • Member visibility
    • Static members
    • Generic classes
    • Handling this
    • Arrow functions
    • Parameter properties
    • Class expressions
    • Abstract classes and members
    • Relationships between classes
Day two
  • Session 8: Best practices
    • General types
    • Generics
    • The any type
    • Callback types
    • Function overloads
    • Others

FAQs

During the two-day TypeScript course, JavaScript developers will build the practical judgement needed to work with typed application code. It covers configuration, data modelling, functions, classes and advanced type features, with exercises that show how TypeScript can support clearer decisions, safer changes and more consistent development practice. 

Is this course right for experienced JavaScript developers?

Yes. This course is designed for developers who already understand JavaScript and want to use TypeScript with more confidence. It is particularly relevant if you work on shared codebases, growing applications or projects where clearer structure would help reduce ambiguity, improve reviews and make future changes easier to manage. 

What practical skills will I build?

You will work with TypeScript configuration, typed values, object structures, interfaces, unions, narrowing, generics, classes and advanced type features. The focus is on using these skills in practical development tasks, heloing you make stronger decisions when designing functions, modelling data and organising application code. 

How can TypeScript help in day-to-day development?

TypeScript helps developers make assumptions visible in the code. That matters because unclear data shapes, flexible inputs and repeated logic can lead to avoidable errors or slower reviews. By using TypeScript well, you can make code easier to understand, test, extend and discuss with other developers. 

Is the course only relevant to front-end developers?

No. The course is suitable for developers working across front-end, back-end or full-stack environments, provided they already have JavaScript experience. It is also useful for technical testers, SDETs and automation specialists who work with JavaScript-based test frameworks or need to understand TypeScript application code. Stronger type information can make code easier to review, debug and maintain, which supports more reliable development and testing activity. 

Will the course include hands-on coding?

Yes. The course includes practical coding exercises and live labs that help reinforce the concepts covered during training. You will have opportunities to apply TypeScript features as you learn them, rather than only discussing syntax or theory. This practical format helps you build confidence with typed structures, functions and application patterns in a supported environment before applying them in your own development or testing work. 

Why study with TSG?
25+ years' experience

Trusted by individuals, businesses and public sector organisations for over 25 years.

20,000+ learners trained

Join a network of learners focused on developing their software testing skills 

98% customer satisfaction

TSG trainers are frequently rated as ‘good’ or ‘excellent’ by our learners

We're here to help
Speak to our learning experts

Not sure which course or study option is right for you? Get in touch with our team of advisors for personalised guidance and support throughout your learning journey.

Business transformation
Looking to develop your business or team?

Need to upskill your team? Our bespoke development solutions are designed to enhance team performance, retain talent, and drive organisational excellence. One of our development consultants would love to chat.

Quote request

Please complete the form to ensure your quote is accurate and we will contact you soon.

Page {{ step }} of 2

Back Next