Course in TypeScript

Course in TypeScript programming for both client and server side

TypeScript is on its way to improve and change the way we develop web applications to the better. As a consequence that Google have chosen TypeScript as the basis of its completely re-designed Angular framework, the interest for the language has boomed.

It is our firm conviction that once you have started to program in TypeScript, it will feel very dismal to return back to plain JavaScript. In this course you will see all benefits of using TypeScript for both server-side as well as client-side (browser based) applications.

This is what you will learn
  • Understand the benefits of using strong type suspport
  • Create robust functions and classes
  • Create and use sub-classes, interfaces and abstract classes
  • Use generic functions and classes
  • Use modules to impose structure in a large project
  • Build server-side as well as client-side TS applications
  • Implemen and execute unit tests
Course Contents

Background and Overview

  • History
  • Backing corporations
  • Language properties
  • JS ECMA versions
  • The TS playground
  • Installation

Building TS Projects

  • The TS compiler
  • Compiler configuration
  • Understanding the generated output
  • Output formats
  • Using ts-node

Basics Typing

  • Scalar types such as Boolean, Numbers, String
  • Composite types such as Array, Tuple, Enum
  • Special types such as Any, Void, Null, Undefined
  • Type casts and type assertions
  • Type aliases
  • Union types
  • String literal types
  • Tagged unions


  • Commonalitites with JS
  • Fat arrows or lambda expressions
  • Function paramters
  • Default parameters
  • Optional parameters
  • Rest parameters
  • Function overloading


  • Class syntax
  • Constructors
  • Member functions
  • Member variables
  • Readonly members
  • Public and private visibility
  • Parameter member defintions
  • Assessor functions
  • Static members

Extended Classes

  • Extended classes
  • Using the super keyword
  • Protected visibility
  • Abstract classes


  • What is an interface
  • Defining an interface
  • Implementing an interface
  • Extended interfaces
  • Optional members
  • Passing object literals to interface type parameters
  • Function type interfaces
  • Indexable types
  • Mixins

Generic Classes

  • What is a generic type
  • Syntax for generic functions
  • Syntax for generic classes
  • Type instantiation
  • Type parameter constraints


  • What is a module
  • Module declations
  • Exports
  • Module usage
  • Imports
  • Default exports
  • Generated JS code for modules
  • CommonJS, AMD, UMD, SsystemJS, ES6
  • Namespaces
  • Module resolution


  • What is a decorator/annotation
  • Applying decorators
  • Decorator evaluation
  • Usage of decorators

Specifying Types for JS Code

  • Why defining types for existing JS libraries
  • Declaration file format
  • JS library type definition repositories
  • Typings
  • DefinitelyTyped
  • How use external type definitions

TS Applications

  • Build tools
  • Using GulpJS
  • Using TS in the browser
  • Babel
  • Browserify
  • Webpack
Duration2 Days
AudienceJavaScript programmers
Prerequisites Experienced in JavaScripot programming
  • NodeJS
  • TypeScript
  • JetBrains WebStorm IDE
  • Google Chrome browser
Course Dates
2020-02-20Stockholm15 000 kr
2020-03-12Stockholm15 000 kr
2020-04-02Stockholm15 000 kr
2020-04-27 Stockholm15 000 kr
2020-05-18 Stockholm15 000 kr

Same-Company Discout

We offer a 20% discount for additional participants from the same company and at the same course date. Read more here.

Teaching Language

Our printed course material is always authored in English. The oral presentation in our classrooms is generally in Swedish, unless all participants agree to that we perform the course in English.

On-Site Course

If you order an On-Site course, we will come to you and hold the course in your office. The price is determined by our price model and is based on the number of course days, number of participants and any travel and lodging.

Read more about out price modell and term of sales here.

Related Courses
CourseDays Level
GulpJS2 BeginnerShow
Angular Basics4 BeginnerShow
Ionic Hybrid Mobile Apps 3IntermediateShow