<<Download>> Download Microsoft Word Course Outline Icon Word Version Download PDF Course Outline Icon PDF Version

TypeScript Essentials

Duration

2 days

Description

Embark on a comprehensive journey into the realm of TypeScript with our "TypeScript Essentials" course. Begin by grasping the fundamentals of TypeScript, understanding its relationship with JavaScript, dynamic/static typing, and the immense advantages it offers over pure JavaScript for modern web development. Explore the rich landscape of TypeScript's type system, covering JavaScript types, type assignments, static typing for various data structures, and special types like Any, Unknown, and Never. Delve into advanced typing concepts, including structural and nominal typing, type narrowing, and type guards, enabling you to write robust and error-free code. You'll also master the art of defining and utilizing custom types effectively, from type aliases to utility types and advanced type manipulation techniques such as conditional types and mapped types. As you progress, you'll dive into generic types, learning about type parameters, constraints, and how to create and implement generic classes and functions in TypeScript. To put your newfound knowledge into practice, you'll discover how to seamlessly integrate TypeScript into real-world applications, from bundling with Webpack to using TS-Node and handling ES2015 static modules and ES2020 import/export mechanisms, equipping you to harness TypeScript's power in practical development scenarios. Join us in this course to become a proficient TypeScript developer, ready to tackle complex web projects with confidence and precision.

Objectives

  • Understand the fundamentals of TypeScript, including its relationship with JavaScript, dynamic/static typing, and the advantages it offers over pure JavaScript.
  • Explore various typing concepts in TypeScript, such as structural and nominal typing, type narrowing, and type guards.
  • Master TypeScript's type system, covering JavaScript types, type assignments, static typing of primitives, objects, functions, enums, unions, intersections, nullish values, and special types like Any, Unknown, and Never.
  • Learn how to define and use custom types effectively, including type aliases, utility types, generic types, and advanced type manipulation techniques like conditional types and mapped types.
  • Dive into generic types, including type parameters, constraints, and how to create and use generic classes and functions in TypeScript.
  • Apply TypeScript in real-world applications, including bundling with Webpack, using TS-Node, working with ES2015 static modules, and handling imports and exports in ES2020, enabling you to leverage TypeScript's power in practical development scenarios.

Prerequisites

All students must have computer programming experience. Experience with JavaScript is helpful, but not required.

Training Materials

All students receive comprehensive courseware covering all topics in the course. Courseware is distributed via GitHub in the form of documentation and extensive code samples. Students practice the topics covered through challenging hands-on lab exercises.

Software Requirements

Students will need a free, personal GitHub account to access the courseware. Student will need permission to install Node.js and Visual Studio Code on their computers. Also, students will need permission to install NPM Packages and Visual Studio Extensions. If students are unable to configure a local environment, a cloud-based environment can be provided.

Outline

  • Introduction
    • What is TypeScript?
    • JavaScript and TypeScript
    • Dynamic/Static Typing
    • Loose/Strong Typing
    • Limitations of TypeScript
    • Installing TypeScript
    • Compiling a Simple Program
  • Generative AI Tooling (optional)
    • GitHub Copilot and Visual Studio Code Integration
    • Using GitHub Copilot for WebStorm Programming
    • Using GitHub Copilot for Terminal Commands
    • Customize the Course with Your Generative AI Programmer Tool (optional)
  • Typing Concepts
    • What is Typing?
      • Memory Structure
      • Semantic Meaning
    • Structural Typing
    • Nominal Typing
      • Branding
      • Enums
      • Private Member
    • Type Narrowing
    • Type Guards
  • Types
    • JavaScript Types
    • Rule of First Assignment
    • Static Typing of Primitives
    • Static Typing of Objects
    • Static Typing of Functions
    • Enum Type
    • Discriminated Unions
    • Union and Intersections Types
    • Nullish Values/Types
    • Any, Unknown, and Never Types
  • Defining Types
    • Type Aliases
    • Utility Types
    • TypeOf Operator
    • KeyOf Operator
    • Indexed Access Types
    • Conditional Types
    • Mapped Types
    • Template Literal Types
  • Generic Types
    • Generic Type Parameters
    • Constraints
    • Inferring Type Parameters
    • Passing in Type Parameters
    • Generic Classes
    • Generic Functions
  • Classical Object-Oriented Programming
    • Classes
    • Interfaces
    • Abstract Classes
    • Access Modifiers
    • Inheritance
  • Using TypeScript for Applications
    • Bundling with Webpack
    • TS-Node
    • ES2015 Static Modules
    • Named/Default Exports/Imports
    • ES2020 Dynamic Imports
  • Practice Application (choose one)
    • Web App with React
    • Web App with Angular
    • REST API with Express.js
<<Download>> Download Microsoft Word Course Outline Icon Word Version Download PDF Course Outline Icon PDF Version