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

Chapter 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

 

Chapter 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

 

Chapter 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

 

Chapter 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

 

Chapter 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

Each student will receive a Student Guide with course notes, code samples, software tutorials, diagrams and related reference materials and links (as applicable). Our courses also include step by step hands-on lab instructions and and solutions, clearly illustrated for users to complete hands-on work in class, and to revisit to review or refresh skills at any time. Students will also receive related (as applicable) project files, code files, data sets and solutions required for the hands-on work.

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.

Attend a Course

Please see the current upcoming available open enrollment course dates posted below. Please feel free to Register Online below, or call 844-475-4559 toll free to connect with our Registrar for assistance. If you need additional date options, please contact us for scheduling.

Course Title Days Date Time Price
Introduction to TypeScript 2 Days Dec 1 to Dec 3 10:00 AM to 06:00 PM EST $1,595.00 Enroll

Summer Savings!
Register today to receive *50% off all 2021 Public Classes*!  Check out our Current Offers for Individuals, Teams and Organizations to Learn for Less!

See our latest Offers and Promotions

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