Book Image

Hands-On TypeScript for C# and .NET Core Developers

By : Francesco Abbruzzese
5 (1)
Book Image

Hands-On TypeScript for C# and .NET Core Developers

5 (1)
By: Francesco Abbruzzese

Overview of this book

Writing clean, object-oriented code in JavaScript gets trickier and complex as the size of the project grows. This is where Typescript comes into the picture; it lets you write pure object-oriented code with ease, giving it the upper hand over JavaScript. This book introduces you to basic TypeScript concepts by gradually modifying standard JavaScript code, which makes learning TypeScript easy for C# ASP.NET developers. As you progress through the chapters, you'll cover object programming concepts, such as classes, interfaces, and generics, and understand how they are related to, and similar in, both ES6 and C#. You will also learn how to use bundlers like WebPack to package your code and other resources. The book explains all concepts using practical examples of ASP.NET Core projects, and reusable TypeScript libraries. Finally, you'll explore the features that TypeScript inherits from either ES6 or C#, or both of them, such as Symbols, Iterables, Promises, and Decorators. By the end of the book, you'll be able to apply all TypeScript concepts to understand the Angular framework better, and you'll have become comfortable with the way in which modules, components, and services are defined and used in Angular. You'll also have gained a good understanding of all the features included in the Angular/ASP.NET Core Visual Studio project template.
Table of Contents (16 chapters)

Questions

  1. What are the main benefits of adding types to JavaScript?
  2. Is it possible to get the type of a TypeScript variable at runtime? How?
  3. At the moment, is there any chance the TypeScript team will add something like C# operator overloading so users may define custom behavior for + and - when applied to their custom types? Why?
  4. Is there a way to define a variable that might contain both numbers and strings? What is the best way to do it?
  5. What is the return type of a function that returns no value?
  6. What is the scope of a variable that has not been declared?
  7. How many instances of the counter variable are generated by a var-based for loop that iterates 100 times? How many instances are generated by the let version of the same loop?
  8. Is this assertion true: TypeScript string variables are always allowed to have a null value? Explain.
  9. What is the most space-efficient way to define an enum (the one that generates the least code and requires the least runtime memory)?
  10. How do you declare that the values of an enum are C#-like bit flags?