Log In
Join
for free
Log In
Join
for free
Back To Course Home
Mastering TypeScript
0% completed
Before Getting Started
Why Choose TypeScript and This Course?
Prerequisites
Introduction
Introduction to TypeScript
Transpiling
Strong Typing and Basic Types
Inferred Typing and Duck Typing
Function Signatures and the void Keyword
Third Party Libraries and Declaration Files
Summary
Quiz: TypeScript Basics
Exploring the Type System
The Basic TypeScript Type System
The any Type and Explicit Casting
The let and const Keywords
Union Types, Type Guards, and Aliases
Enums
Exploring Primitive Types
Conditional Expressions and Optional Chaining
Nullish Coalescing and Null or Undefined Operands
Definite Assignment
Object and Unknown Types
The never Type and switch Statements
Object Spread
Tuples
Functions
Function Callbacks in JavaScript
Function Signatures and Function Overrides in TypeScript
Summary
Quiz: Exploring the Type System
Challenge: TypeScript Basics
Challenge: TypeScript Basics
Solution: TypeScript Basics
Interfaces in TypeScript
Introduction to Interfaces
Optional Properties and Prefixing Interface Names
Weak Types in Interfaces
The in and keyof Operators
Summary
Quiz: Interfaces in TypeScript
Classes in TypeScript
Introduction to Classes
Classes and Interfaces
Class Constructors and Modifiers
JavaScript Private Fields and TypeScript
Constructor Parameter Properties and Property Accessors
Static Functions and Namespaces
Summary
Quiz: Classes in TypeScript
Inheritance in TypeScript
Introduction to Inheritance
The super Function and Function Overriding
Protected and Abstract Classes
Abstract Class Methods
The instanceof Operator
Interfaces Extending Classes
Summary
Quiz: Inheritance in TypeScript
Modules in TypeScript
Modules in TypeScript
Multiple Exports and Namespaces
Summary
Quiz: Modules in TypeScript
Challenge: Interfaces, Classes, Inheritance, and Modules
Challenge: Interfaces, Classes, Inheritance, and Modules
Solution: Interfaces, Classes, Inheritance, and Modules
Generics in TypeScript
Introduction to Generics
Generic Syntax
Constraining Generic Types with Examples
Limitations of Generic Code: Interfaces and Constrained Types
Using Generics to Constrain Types
Summary
Quiz: Generics
Advanced Type Inferences in TypeScript
Introduction to Advanced Type Inferences
Mapped Types
Conditional Types and Chaining
Distributed Conditional Types and the Conditional Type Inference
Type Inference from Function Signatures and Arrays
Summary
Quiz: Advanced Type Inferences
Challenge: Generics and Advanced Type Inferences
Challenge: Generics and Advanced Type Inferences
Solution: Generics and Advanced Type Inferences
Asynchronous Language Features
Introduction to Asynchronous Language Features
Callbacks
Promises
Promise Syntax
Returning Values from Promises
Async and Await
Callbacks vs. Promises vs. Async
Summary
Quiz: Asynchronous Language Features
Decorators
What Are Decorators?
Types of Decorators
Class and Property Decorators
Method and Parameter Decorators
Decorators Metadata
Summary
Quiz: Decorators
Challenge: Asynchronous Language Features and Decorators
Challenge: Asynchronous Language Features and Decorators
Solution: Asynchronous Language Features and Decorators
Integration with JavaScript
Enhancing JavaScript Libraries with TypeScript
Using Declaration Files in TypeScript
Finding and Writing Declaration Files
Creating a Namespace in TypeScript Declaration Files
Understanding TypeScript Declaration Files
Integration Compiler Options
Summary
Quiz: Integration with JavaScript
Strict Compiler Options
Introduction to Strict Compiler Options
Nested Configuration
Fixing Uninitialized Variable Errors in TypeScript
JavaScript's bind, call, and apply Functions
The no Compiler Options
Summary
Quiz: Strict Compiler Options
Challenge: Strict Compiler Options
Challenge: Strict Compiler Options
Solution: Strict Compiler Options
Using Observables to Transform Data
Introduction to Observables
The pipe and map Functions
Avoid Swallowing Values
Observable Errors
Observables Returning Observables
Using mergeMap and concatMap Functions
The forkJoin Function
Observable Subject
Summary
Quiz: Using Observables to Transform Data
Challenge: Using Observables to Transform Data
Challenge: Using Observables to Transform Data
Solution: Using Observables to Transform Data
Test-Driven Development
Introduction to Test-Driven Development
Jest: A Unit Testing Framework
Grouping, Forcing, and Skipping Tests
Matchers
Test Setup and Teardown
Data-driven Tests
Jest Mocks and Spies
Asynchronous Tests
HTML-Based Tests
Summary
Quiz: Test-Driven Development
Appendix: Test-Driven Development
Challenge: Test-Driven Development
Challenge: Test-Driven Development
Solution: Test-Driven Development
Angular
Introduction to Angular
Application Structure and Modules
Angular Material Components
An Angular Application
Angular DOM Events
Angular EventEmitter and Services
Angular Dependency Injection and Child Components
Understanding Two-Way Data Binding and Reactive Forms in Angular
Unit Testing Angular Components
Unit Testing Forms and Events
Reacting to Domain Events
Angular Application
Summary
Quiz: Angular
Appendix: Angular
Challenge: Angular
Challenge: Angular
Solution: Angular
React
The Story of React and TypeScript
JSX in TypeScript and React Components
React Props and Event Handling
Managing the Component State in React
Building a Product List with Detailed Descriptions
Exploring DetailView and App Components
Gathering User Input for Task Completion
React Application
Summary
Quiz: React
Appendix: React
Challenge: React
Challenge: React
Solution: React
Vue
Building Vue Applications with TypeScript Integration
Component Structure and Child Components with Props
Component State and Events
Computed Properties, Conditional Statements, and Arrays
Building a Shopping Cart Application with Vue
Binding the Shopping Cart Collection to the App Component
Component Details: ShoppingCart and Checkout
Initializing Input Controls for Proper Label Display
Checkout and Item Rendering
Vue Application
Summary
Quiz: Vue
Appendix: Vue Setup on a Local Machine
Node and Express
Introduction to Node and Express Web Development
Modularizing Routes in Express Using the Router Object
Dynamic Configuration with the Config Library
Using Handlebars Template Engine in Express
Handling Form Submission
Managing User Authentication and Sessions
Node and Express Application
Summary
Quiz: Node and Express
Appendix: Express Setup on a Local Machine
An AWS Serverless API
Introduction to AWS
Serverless Application Model
Initializing and Deploying an AWS SAM Application
Building an API with AWS SAM CLI and DynamoDB Tables
DynamoDB Interactions with NoSQL Workbench
API Endpoints and Database Mapping in TypeScript AWS Application
Building a POST API Endpoint with AWS Lambda and TypeScript
Handling GET Requests with Path Parameters in AWS Lambda
Building a TypeScript Lambda Function for Retrieving Products
Summary
Quiz: AWS Serverless API
Micro Front-Ends
Building Micro Front-Ends
Design Concepts and Front-End Mechanisms
Communication Mechanisms and Domain Events
Communication Mechanisms
Building Modules and Module Typing
Updating the React Application
React Domain Events
Updating the Vue Application
Angular Micro Front-End
Event Listening and Updates in Angular
Summary
Quiz: Micro Front-Ends
Conclusion
Wrap Up
Summary
Recap the topics covered in the chapter.
We'll cover the following
Overview
What’s next?
Overview
Get hands-on with 1200+ tech skills courses.
Start Free Trial