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

Functions

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

Classes

  • 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

Interfaces

  • 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

Modules

  • 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

Annotations/Decorators

  • 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
Facts
NameTypeScript
Duration2 Days
LevelIntermediate
AudienceJavaScript programmers
Prerequisites Experienced in JavaScripot programming
Tools
  • NodeJS
  • TypeScript
  • JetBrains WebStorm IDE
  • Google Chrome browser
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
JavaScript3BeginnerShow
NodeJS2IntermediateShow
GulpJS2 BeginnerShow
Angular4BeginnerShow
Ionic Hybrid Mobile Apps 3IntermediateShow