Over the past decade, the JavaScript code base of an average web application has been growing exponentially. However, the current version of JavaScript was designed several years ago and lacks some features necessary to cope with the level of complexity that we may find in a modern JavaScript application. Owing to these missing features, maintainability problems have arisen.
The ECMAScript 2015 specification is meant to solve some of the maintainability issues of JavaScript, but its implementation is in progress, and many incompatible web browsers are still in use today. For these reasons, wide adoption of the ECMAScript 2015 specification is expected to be a slow process.
To resolve the maintainability and scalability problems of JavaScript, TypeScript was publicly announced in October 2012, after 2 years of internal development at Microsoft:
—TypeScript Language Specification 1.0
Some developers with many years, experience in web development will find it challenging to define a large-scale JavaScript application. When referring to this term, we will avoid considering the number of lines of code in the application. It is much better to consider the number of modules and entities in an application, and the number of dependencies between them as units of measurement of the application’s scale. We will define large-scale applications as nontrivial applications that require significant developer effort to be maintained.
Learning TypeScript 2.x Second Edition, introduces many of the TypeScript features in a simple and easy-to-understand format. This book will teach you everything you need to know to implement a large-scale JavaScript application using TypeScript. Not only does it teach TypeScript’s core features, which are essential to implement a web application, but it also explores some powerful development tools, design principles, and good practices, and demonstrates how to apply them to real-life applications.
The second edition has been upgraded and extended, with five additional chapters that cover topics such as functional programming, advanced type system features, an introduction to frontend development with React and Angular, an introduction to Node.js development, and an introduction to the internal APIs of the TypeScript compiler.
The new edition contains a total of 15 chapters. Seven of these chapters are completely new and were not included in the first edition.