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

Answers to declaration merging questions


The answers that display merged declarations are for representational purposes alone. TypeScript compiler doesn't actually perform physical merges, but rather a logical merge from the multiple same named declarations. Let's take a look at the following answers now:

  • Take a look at the following code snippet for answer 3.3.1:
        interface TreeNode {
          data: number;
          left: TreeNode;
          right: TreeNode;
          createNode: (data: number) => TreeNode; 
        }

        interface ITreeOperations {// root: TreeNode;
           // error: same name member declarations  
           cannot merge
         mirrorTree: (node: TreeNode) => TreeNode;
         putRoot(nodeValue: number): void;
         getRoot(): TreeNode;
         traverseTree: (node: TreeNode) => void;
         putRoot(node: TreeNode): void;
         getRoot(): TreeNode;
        }
  • Take a look at the following code snippet for answer 3.3.2:
        namespace...