Book Image

Advanced TypeScript Programming Projects

By : Peter O'Hanlon
Book Image

Advanced TypeScript Programming Projects

By: Peter O'Hanlon

Overview of this book

With the demand for ever more complex websites, the need to write robust, standard-compliant JavaScript has never been greater. TypeScript is modern JavaScript with the support of a first-class type system, which makes it simpler to write complex web systems. With this book, you’ll explore core concepts and learn by building a series of websites and TypeScript apps. You’ll start with an introduction to TypeScript features that are often overlooked in other books, before moving on to creating a simple markdown parser. You’ll then explore React and get up to speed with creating a client-side contacts manager. Next, the book will help you discover the Angular framework and use the MEAN stack to create a photo gallery. Later sections will assist you in creating a GraphQL Angular Todo app and then writing a Socket.IO chatroom. The book will also lead you through developing your final Angular project which is a mapping app. As you progress, you’ll gain insights into React with Docker and microservices. You’ll even focus on how to build an image classification program with machine learning using TensorFlow. Finally, you’ll learn to combine TypeScript and C# to create an ASP.NET Core-based music library app. By the end of this book, you’ll be able to confidently use TypeScript 3.0 and different JavaScript frameworks to build high-quality apps.
Table of Contents (13 chapters)

Advanced TypeScript Features

In this chapter, we are going to look at aspects of TypeScript that go beyond the basics of the language. When used appropriately, these features provide a clean, intuitive way to work in TypeScript and will help you to craft professional-level code. Some of the things we cover here may not be new to you, but I am including them so that there is a common baseline of knowledge as we work through later chapters, as well as an understanding of why we will be using these features. We will also cover why we need these techniques; it is not merely enough to know how to apply something, we also need to know in what circumstances we should use them and what we need to consider when we do so. The focus of this chapter is not to create a dry, exhaustive list of each feature—instead, we are going to introduce the information we need to work through the rest of this book. These are practical techniques that we will apply again and again in our daily development.

As this is a book on web development, we are also going to be creating a lot of UIs, so we are going to look at how we can create attractive interfaces using the popular Bootstrap framework.

The following topics will be covered in this chapter:

  • Using different types with union types
  • Combining types with intersection types
  • Simplifying type declarations with type aliases
  • Deconstructing objects with REST properties
  • Coping with a variable number of parameters using REST
  • Aspect-Oriented Programming (AOP) using decorators
  • Composing types using mixins
  • Using the same code with different types and using generics
  • Mapping values using maps
  • Creating asynchronous code with promises and async/await
  • Creating UIs with Bootstrap