Introduction to TypeScript Course

  • 2 Days
  • Intermediate
  • Virtual | Classroom
  • £ On Request

Fast-track your team to TypeScript in just 2 days. Instructor-led training that teaches TypeScript through a mix of hands-on exercises, demos, live-coding and expert instruction.

Book For My Team

Your team will learn...

Develop confidence in all core TypeScript features

Become comfortable with ADTs and other advanced concepts

Learn how to apply both OO and Functional paradigms

Become proficient at writing and testing in TypeScript

Overview

JavaScript is a powerful language that is ubiquitous in the Web. However, its dynamic and interpreted nature can lead to problems at scale, problems that are mitigated in other languages by compilation and static typing. TypeScript brings these benefits to the JavaScript universe.

TypeScript is a type safe superset of JavaScript that allows us to write clean, simple code that runs anywhere JavaScript does. Unlike other languages that can transpile to JavaScript, the interop between JavaScript and TypeScript is a primary engineering concern. As a superset, all JavaScript skills and legacy code are readily reusable. Type safety brings many benefits, including catching bugs at compile time instead of run time, advanced static analysis tooling, powerful refactorings, better IDE experience etc.

Outline

Introduction and Setup

  • Why do we need TypeScript?
  • What is Transpilation
  • The difference between the TypeScript compiler and Babel
  • Setting up a build environment with Webpack
  • Support for TS in the IDE
  • Configuring TypeScript via tsconfig.json
  • Decoding the transpiled output

TypeScript Fundamentals

  • The basic types supported by TS
  • The power of type inference
  • Comparing any and unknown
  • The difference between Casting and Type Assertions
  • TypeScript as a superset of Modern JavaScript
  • Enhancements to function declarations
  • Using function types and higher order functions
  • How function overloading works in TypeScript
  • Numeric, String and const enumerations

Object Oriented TypeScript

  • The TypeScript class model in depth
  • Access modifiers and support for JavaScript private
  • Enforcing contracts via interfaces
  • Readonly properties and Accessors
  • Support for generic types and constraints

Advanced TypeScript

  • Advanced features of TS interfaces
  • The difference between object literals and type literals
  • Using string and number literals as Types
  • Type Aliases, Unions and Intersections
  • Smart Casting and Type Guards
  • Defining mapped types and the infer keyword
  • Utility types and type programming
  • ts-toolbelt and utility-types
  • Using class Decorators
  • Understanding Symbols
  • Generator functions
  • Writing asynchronous TypeScript

Testing TypeScript

  • Mock objects in a strongly typed world
  • Leveraging the Builder pattern
  • Testing asynchronous TypeScript

Requirements

This TypeScript course is intended to be delivered to software engineering teams.

Delegates on this TypeScript training course must be proficient JavaScript developers. However, the delivery time can be extended if they have no prior knowledge of JavaScript.

Ryan Adams

Used to make software for learning as a developer, now helping software makers learn.

Follow Ryan
Andrew Paul

Was a teacher, then a lecturer and now a trainer at Instil. Has been completed the circle.

Gemma Esler

Software developer in the semiconductor industry before switching to lecturing and then Instil as a trainer.

For a breakdown of what to expect in our training, check out our training overview page.

Garth and Eamonn did as excellent a job in delivering the most simple concepts of Typescript as they did the more tricky and more complex aspects - the exercises were extremely well thought out and helped to solidify my understanding and build my confidence in applying what had been covered in each topic. Many thanks guys!

Very enjoyable and well thought out course - taught me a lot of things I didnt know about Typescript (well - as a beginner, I didnt really know a lot, but definitely a stronger base now!). As always Garth and Eamonn were very engaging and knowledgeable regarding the content, and were very open regarding stopping them to ask questions.

I really enjoyed the course overall, and there was a great mix of taught content as well as practical examples and exercises. The instructors were, as always, first class, incredibly knowledgeable, and always willing to take time to answer questions and help our understanding

Enjoyed the course and content. Great that we were given the opportunity to help guide and drive the pace. I also enjoyed the quizzes throughout the 2 days and it helped to reinforce the topics we covered.

Deloitte logo
Atlassian logo
Workday logo
BMW logo
Amex logo
McAfee logo
PWC logo