Grundkurs i TypeScript

TypeScript är på god väg att uppdatera och ändra hur vi implementerar webb applikationer till det bättre. I och med att Google valde att basera den nya helt omskrivna versionen av Angular på TypeScript så har språket fått ett enormt uppsving. Det är vår egen fasta övertygelse att har du väl börjat programmera i TypeScript, så känns det väldigt trist att gå tillbaka till ren JavaScript. På denna kurs kommer du se alla fördelarna med att använda TypeScript för såväl server-side (kod kör på server) som client-side (kod kör i browser).

Grundkurs i TypeScript
2 dagar
Intermediate
JavaScript programmerare
God erfarenhet av att programmera i JavaScript
  • Node.js
  • TypeScript Compiler
  • MS Visual Code || JetBrains WebStorm
  • Chrome || Firefox || Edge
Här ser du vilka kursdatum som är tillgängliga. Klicka på en av datumknapparna för att anmäla dig till ett kurstillfälle. På kursen pratar läraren svenska, medan vårt kursmaterial alltid är författat på engelska.

Du sitter bekvämt framför datorn och deltar i kursen via internet. Vi använder programvaran Zoom för alla våra fjärrkurser.

I priset ingår kursmaterial som PDF.

Pris: 10 000 kr + MOMS/VAT (25%)

Du sitter bekvämt i ett av våra klassrum, vilka finns centralt placerade i Stockholms innerstad (Östermalmstorg).

I priset ingår tryckt kursmaterial (och som PDF), samt kaffe/te med smörgås på förmiddagen och kaffe/te med bulle på eftermiddagen.

Pris: 16 000 kr + MOMS/VAT (25%)

Om ni är tre eller fler personer från samma företags, kan ni beställa en företagsanpassad kurs. Då håller vi kursen på ett datum som passar er. Antingen på plats i era lokaler eller som en fjärrkurs. Vi kan även mixa fjärr- och klassrumskurs, om några av er önskar delta på distans medan resten föredrar att ses på plats.

Företagsanpassad Kurs

Här är ett sammandrag av vad du får lära dig på kursen. Du kan också kika på hela kursinnehållet via fliken INNEHÅLL

  • Understand the benefits of using type support
  • Create robust functions and classes
  • Create and use subclasses, interfaces, abstract classes
  • Use generic functions and classes
  • Use modules to create structure in large program projects
  • Build both server-side and client-side TS projects
  • Write and execute tests

Background and Overview

  • History
  • Anders Hejlsberg
  • 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

  • Commonalities with JS
  • Fat arrows or lambda expressions
  • Function parameters
  • 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

  • Syntax
  • 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