Book Image

Mastering TypeScript - Fourth Edition

By : Nathan Rozentals
Book Image

Mastering TypeScript - Fourth Edition

By: Nathan Rozentals

Overview of this book

TypeScript is both a language and a set of tools to generate JavaScript, designed by Anders Hejlsberg at Microsoft to help developers write enterprise-scale JavaScript. Mastering Typescript is a golden standard for budding and experienced developers. With a structured approach that will get you up and running with Typescript quickly, this book will introduce core concepts, then build on them to help you understand (and apply) the more advanced language features. You’ll learn by doing while acquiring the best programming practices along the way. This fourth edition also covers a variety of modern JavaScript and TypeScript frameworks, comparing their strengths and weaknesses. You'll explore Angular, React, Vue, RxJs, Express, NodeJS, and others. You'll get up to speed with unit and integration testing, data transformation, serverless technologies, and asynchronous programming. Next, you’ll learn how to integrate with existing JavaScript libraries, control your compiler options, and use decorators and generics. By the end of the book, you will have built a comprehensive set of web applications, having integrated them into a single cohesive website using micro front-end techniques. This book is about learning the language, understanding when to apply its features, and selecting the framework that fits your real-world project perfectly.
Table of Contents (19 chapters)
Other Books You May Enjoy

Strict Options

In this section of the chapter, we will explore the strict set of compiler options, all of which come into play when we turn the main "strict" option from true to false. Note that if we turn the main "strict" option to false, then we must set the desired "strict" option to true in order for it to become active.


The strictNullChecks compiler option is used to find instances in our code where the value of a variable could be null or undefined at the time of usage. This means that when the variable is actually used, if it has not been properly initialized, the compiler will generate an error message. Consider the following code:

let a: number;
let b = a;

Here, we have defined a variable named a that is of type number. We then define a variable named b and assign the value of a to it. This code will generate the following error:

error TS2454: Variable 'a' is used before being assigned