Introduction to TypeScript

Scripting Essentials, IDEs, Responsive Design, Debugging, Classes, Functions, Generics, Compiler Options & More

TT4116

Introductory

2 Days

Course Overview

Introduction to TypeScript is a hands-on course geared for web developers who need to learn basic TypeScript to use with today's systems and architectures to build sophisticated web interfaces.  The training will guide students through a balanced mixture of theory and practical labs to gain core development skills and have them explore its related technologies through to the use of tools and libraries to ease the development of advanced web applications.  Course attendees will be able to hit the ground running right after class, applying essential TypeScript to projects at both an architectural as well as a line by line coding level.  

Throughout the course, students will explore the practical use of the umbrella of technologies that work in conjunction with TypeScript as well as some of the tools, toolkits, and frameworks that can be used in conjunction with web development and deployment. The course begins with an initial look at TypeScript and how it is used within the context of web applications, walking students through the different technologies that are used with TypeScript, and exploring core aspects of TypeScript in terms of web applications, security, tools, and frameworks.  

Course Objectives

This skills-focused course is approximately 50% hands-on lab to lecture ratio. Our instructors are highly experienced practitioners who bring years of current "on-the-job" experience into every classroom. Working within in a hands-on learning environment guided by our expert team, attendees will learn to:

· Understand what JavaScript is and how it is used within the context of web applications

· Work with the different technologies that are the foundation for web applications.

· Understand and work with the fundamental aspects of JavaScript in terms of web applications, security, tools, and frameworks

· Learn to how to effectively work with the newest advances in JavaScript such as ES6 and TypeScript

· Develop code using conventions and optimal constructs for performance 

Course Prerequisites

This is an introductory level course for experienced software developers seeking to enhance and extend their core web development skillset leveraging TypeScript. Attendees should have practical experience developing basic software applications. This course provides an excellent foundation for continued learning to gain in-demand skills in in-demand skills and technologies such as NodeJS, Angular, React, Redux and more.  This course can also be tailored for less experienced or non-developers as needed. Please inquire for details.

Related Courses / Next-Step Follow On: Please see our Modern Web Developer Training Suite of hands-on courses thsat cover foundational to advanced related topics in HTML5/CSS3, JavaScript, JQuery, ES6, Angular, React, Node.js, Vue.s, Flutter, Mobile Web Development, Web Testing, Web Security and more. 

Course Agenda

Session 1: TypeScript Tools and Framework Options

What is TypeScript?

  • JavaScript and the ECMAScript Standard
  • The benefits of TypeScript
  • Compiling
  • Strong typing
  • TypeScript's syntactic sugar
  • Type definitions for popular JavaScript libraries
  • DefinitelyTyped
  • Encapsulation
  • TypeScript classes generate closures
  • Public and private accessors

TypeScript IDEs

  • Node-based compilation
  • Visual Studio Code
  • WebStorm
  • Using --watch and Grunt

Session 2: Types, Variables, and Function Techniques

Basic types

  • JavaScript typing
  • TypeScript typing
  • Type syntax
  • Inferred typing
  • Duck typing
  • Template strings
  • Arrays
  • for...in and for...of
  • The any type
  • Explicit casting
  • Enums
  • Const enums
  • String enums
  • Enum implementation
  • Const values
  • The let keyword
  • Definite assignment
  • Dotted property types
  • Numeric separators

Functions

  • Function return types
  • Anonymous functions
  • Optional parameters
  • Default parameters
  • Rest parameters
  • Function callbacks
  • Function signatures
  • Function overrides
  • Try catch

Advanced types

  • Union types
  • Type guards
  • Type aliases
  • Null and undefined
  • Null operands
  • Object rest and spread
  • Tuples

Session 3: Interfaces, Classes, and Inheritance

Interfaces

  • Optional properties
  • Interface compilation
  • Weak types
  • Type inference with the in operator

Classes

  • Class properties
  • Implementing interfaces
  • Class constructors
  • Class functions
  • Interface function definitions
  • Class modifiers
  • Constructor access modifiers
  • Readonly properties
  • Class property accessors
  • Static functions
  • Static properties
  • Namespaces

Inheritance

  • Interface inheritance
  • Class inheritance
  • The super keyword
  • Function overriding
  • Protected class members
  • Abstract classes
  • JavaScript closures
  • instanceof

Using interfaces, classes, and inheritance – the Factory Design Pattern

  • Business requirements
  • What the Factory Design Pattern does

Session 4: Decorators, Generics, and Asynchronous Features

Decorators

  • Decorator syntax
  • Multiple decorators
  • Decorator factories
  • Class decorator parameters
  • Property decorators
  • Static property decorators
  • Method decorators
  • Using method decorators
  • Parameter decorators
  • Decorator metadata
  • Using decorator metadata

Generics

  • Generic syntax
  • Instantiating generic classes
  • Using the type T
  • Constraining the type of T
  • Generic interfaces
  • Creating new objects within generics

Advanced types with generics

  • Conditional types
  • Distributed conditional types
  • Conditional type inference
  • keyof
  • keyof with number
  • Mapped types
  • Partial, Readonly, Record, and Pick

Asynchronous language features

  • Promises
  • Promise syntax
  • Using promises
  • Callback versus promise syntax
  • Returning values from promises
  • async and await
  • await errors
  • Promise versus await syntax
  • await messages

Session 5: Declaration Files and Strict Compiler Options

Global variables

Using JavaScript code blocks in HTML

Writing your own declaration file

  • The module keyword
  • Interfaces
  • Union types

Module merging

Declaration syntax reference

  • Function overrides
  • Nested namespaces
  • Classes
  • Class namespaces
  • Class constructor overloads
  • Class properties
  • Class functions
  • Static properties and functions
  • Global functions
  • Function signatures
  • Optional properties
  • Merging functions and modules

Strict compiler options

  • noImplicitAny
  • strictNullChecks
  • strictPropertyInitialization
  • noUnusedLocals and noUnusedParameters
  • noImplicitReturns
  • noFallthroughCasesInSwitch strictBindCallApply

Course Materials

Student Materials: Each participant will receive a digital Student Guide and/or Course Notes, code samples, software tutorials, step-by-step written lab instructions (as applicable), diagrams and related reference materials and resource links. Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work.

 

Hands-On Setup Made Simple! Our dedicated tech team will work with you to ensure our ‘easy-access’ cloud-based course environment, or local installation, is accessible, fully-tested and verified as ready to go well in advance of the course start date, ensuring a smooth start to class and effective learning experience for all participants. In some cases we can also help you install this course locally if preferred. Please inquire for details and options.

Every-Course Extras = High-Value & Long-Term Learning Support! All Public Schedule courses include our unique EveryCourse Extras package (Course Recordings, Live Instructor Follow-on Support, Free *Live* Course Refresh Re-Takes, early access to Special Offers, Free Courses & more). Please inquire for details.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Mix, Match & Master!
2FOR1: Two Courses, One Price!

Enroll in *any* two public courses (for 2023 *OR* 2024 dates!) by December 31, for one price!  Learn something new, or share the promo!

Click for Details & Additional Offers

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More