Book Image

TypeScript High Performance

By : Ajinkya Kher
Book Image

TypeScript High Performance

By: Ajinkya Kher

Overview of this book

<p>In a world where a tiny decrease in frames per second impacts customer engagement greatly, writing highly scalable code is more of a necessity than a luxury. Using TypeScript you get type checking during development. This gives you the power to write optimized code quickly. This book is also a solid tool to those who’re curious to understand the impact of performance in production, and it is of the greatest aid to the proactive developers who like to be cognizant of and avoid the classic pitfalls while coding.</p> <p>The book will starts with explaining the efficient implementation of basic data Structures, data types, and flow control. You will then learn efficient use of advanced language constructs and asynchronous programming. Further, you'll learn different configurations available with TSLint to improve code quality and performance. Next, we'll introduce you to the concepts of profiling and then we deep dive into profiling JS with several tools such as firebug, chrome, fiddler. Finally, you'll learn techniques to build and deploy real world large scale TypeScript applications.</p>
Table of Contents (17 chapters)
Title Page
Credits
Foreword
About the Author
Acknowlegement
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
7
Profile Deployed JS with Developer Tools and Fiddler

Namespaces and modules


We briefly looked at the use of modules when we covered classes in Chapter 1, Efficient Implementation of Basic Data Structures and Algorithms. Let's take a closer look at namespaces and modules now.

A little theory first. Since TypeScript 1.5, namespaces is the preferred nomenclature for what were known earlier as internal modules. Namespacing is a way for us to logically organize a piece of functionality or declaration in its unique namespace. The other advantage to this organization is that the names declared within this space do not collide with identical names elsewhere in your source code. Let's take a look at an example. Consider building a very simplistic cafe for a workplace. It should basically support three functions: pay, makeSelection, and dispense. The implementations of these, as you can imagine, must be straightforward and have been abstracted as that's not the main point of understanding namespaces.

Let's define the classes and interfaces under the namespace...