Course Overview

What will you learn?

TypeScript, often labelled as being a superset of JavaScript, is a language that has gained momentum recently. Think about it as JavaScript but supercharged.

Based on the above, commonly heard explanation, one may think that TypeScript is an easy language to learn, however it does come with quite a lot of features that a developer must become familiar with first in order to be able to successfully create applications using TypeScript.

TypeScript is a language that has become increasingly popular with the growing of frameworks such as Angular2+ (and there are more and more frontend frameworks that implement TypeScript or provide you with TypeScript specific implementations).

This course intends to lay down the foundations for you so that you can start to write TypeScript code. It is very important to understand these fundamentals otherwise looking at code written in Angular2+ and TypeScript is going to be very confusing.

Section 1 - an introduction to ECMAScript 2015
In this section, you can get familiar with ECMAScript 2015 if you're not already. As mentioned earlier TypeScript is a superset of JavaScript - to be more precise, it is a superset of ECMAScript 2015.

Section 2 - Setting up your environment
This section focuses on setting up your application to be ready to write top-notch TypeScript code.

Section 3 - Primitive Data Types
This section walks you through the 3 primitive data types that are available in TypeScript: Boolean, Number and String.

Section 4 - Non-primitive Data Types
In this section, you get familiar with all the remaining data types that TypeScript supports including but not limited to arrays, tuples and void.

Section 5 - Object Oriented TypeScript - Part 1
This section introduces some OOP concepts using TypeScript - you can get familiar with interfaces and using the extends keyword to extend classes and interfaces.

Section 6 - Object Oriented TypeScript - Part 2
This section will extend (get it, extend!) your knowledge gathered in the previous section and you shall learn about access modifiers in classes, as well as get to know how to work with abstract classes and functions amongst other things.

Section 7 - Generics
In this section, you learn about generics, what they are, how they are used and why to use them in the first place.

Section 8 - Typings, Transpilation and Debugging
This section covers quite a few things - it shows you how to apply typings to third party libraries (while discussing what typings are), it walks you through how to transpile TypeScript code to JavaScript using Webpack (and also, without Webpack using CommonJS and AMD module resolutions via SystemJS and RequireJS) and of course it also shows you how to debug TypeScript.

Course curriculum

  • 1
    ECMAScript 2015
    • ECMA International
    • 'const' and 'var' - new ways to declare variables
    • Working with Objects and Arrays the ES2015 way
    • Arrow functions
    • Rest, Spread operator and Default function parameters
    • Template literals
    • Classes in ECMAScript 2015
    • Modules (in TypeScript)
  • 2
    Setting up your environment
    • Installing a code editor (Visual Studio Code)
    • Configuring TypeScript via tsconfig.json
    • Executing TypeScript code
  • 3
    Primitive Data Types in TypeScript
  • 4
    Non-Primitive Data Types
    • Arrays
    • Tuple
    • Enum
    • any
    • never
    • null & undefined
    • void
    • functions
    • type
    • Type Assertion
    • Objects
  • 5
    Object Oriented TypeScript - Part 1
  • 6
    Object Oriented TypeScript - Part 2
    • Data types and optional parameters for functions
    • Classes in TypeScript
    • Access modifiers
    • Using the 'implements' keyword
    • Creating abstract classes and methods
    • Putting everything together
  • 7
    • Using generics in TypeScript
  • 8
    Typings, Transpilation and Debugging
    • Typings for third party libraries
    • Use Webpack with TypeScript for transpilation
    • Linting TypeScript code
    • Enable linting via Webpack
    • Debugging TypeScript code
    • Use SystemJS with TypeScript
    • Use RequireJS with TypeScript
  • 9
    Getting the code
    • GitHub Link