Programming TypeScript making your JavaScript applications scale

Any programmer working with a dynamically typed language will tell you how hard it is to scale to more lines of code and more engineers. That's why Facebook, Google, and Microsoft invented gradual static type layers for their dynamically typed JavaScript and Python code. This practical book sho...

Full description

Bibliographic Details
Main Author: Cherny, Boris
Format: eBook
Language:English
Published: Sebastopol, CA O'Reilly Media, Inc. 2019
Edition:First edition
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 06046nmm a2200565 u 4500
001 EB001941134
003 EBX01000000000000001104036
005 00000000000000.0
007 cr|||||||||||||||||||||
008 210123 ||| eng
020 |a 9781492037620 
020 |a 1492037605 
020 |a 1492037621 
020 |a 1492037656 
020 |a 9781492037606 
050 4 |a QA76.73.T97 
100 1 |a Cherny, Boris 
245 0 0 |a Programming TypeScript  |b making your JavaScript applications scale  |c Boris Cherny 
250 |a First edition 
260 |a Sebastopol, CA  |b O'Reilly Media, Inc.  |c 2019 
300 |a 1 online resource 
505 0 |a Escape HatchesType Assertions; Nonnull Assertions; Definite Assignment Assertions; Simulating Nominal Types; Safely Extending the Prototype; Summary; Exercises; 7. Handling Errors; Returning null; Throwing Exceptions; Returning Exceptions; The Option Type; Summary; Exercises; 8. Asynchronous Programming, Concurrency, and Parallelism; JavaScript's Event Loop; Working with Callbacks; Regaining Sanity with Promises; async and await; Async Streams; Event Emitters; Typesafe Multithreading; In the Browser: With Web Workers; Typesafe protocols; In NodeJS: With Child Processes; Summary; Exercises 
505 0 |a Includes bibliographical references and index 
505 0 |a Intro; Preface; How This Book Is Organized; Style; Conventions Used in This Book; Using Code Examples; O'Reilly Online Learning; How to Contact Us; Acknowledgments; 1. Introduction; 2. TypeScript: A 10_000 Foot View; The Compiler; The Type System; TypeScript Versus JavaScript; How are types bound?; Are types automatically converted?; When are types checked?; When are errors surfaced?; Code Editor Setup; tsconfig.json; tslint.json; index.ts; Exercises; 3. All About Types; Talking About Types; The ABCs of Types; any; unknown; boolean; number; bigint; string; symbol; Objects 
505 0 |a Relationships Between TypesSubtypes and Supertypes; Variance; Shape and array variance; Function variance; Assignability; Type Widening; The const type; Excess property checking; Refinement; Discriminated union types; Totality; Advanced Object Types; Type Operators for Object Types; The keying-in operator; The keyof operator; The Record Type; Mapped Types; Built-in mapped types; Companion Object Pattern; Advanced Function Types; Improving Type Inference for Tuples; User-Defined Type Guards; Conditional Types; Distributive Conditionals; The infer Keyword; Built-in Conditional Types 
505 0 |a Bounded polymorphism with multiple constraintsUsing bounded polymorphism to model arity; Generic Type Defaults; Type-Driven Development; Summary; Exercises; 5. Classes and Interfaces; Classes and Inheritance; super; Using this as a Return Type; Interfaces; Declaration Merging; Implementations; Implementing Interfaces Versus Extending Abstract Classes; Classes Are Structurally Typed; Classes Declare Both Values and Types; Polymorphism; Mixins; Decorators; Simulating final Classes; Design Patterns; Factory Pattern; Builder Pattern; Summary; Exercises; 6. Advanced Types 
505 0 |a Intermission: Type Aliases, Unions, and IntersectionsType aliases; Union and intersection types; Arrays; Tuples; Read-only arrays and tuples; null, undefined, void, and never; Enums; Summary; Exercises; 4. Functions; Declaring and Invoking Functions; Optional and Default Parameters; Rest Parameters; call, apply, and bind; Typing this; Generator Functions; Iterators; Call Signatures; Contextual Typing; Overloaded Function Types; Polymorphism; When Are Generics Bound?; Where Can You Declare Generics?; Generic Type Inference; Generic Type Aliases; Bounded Polymorphism 
653 |a Logiciels d'application / Développement 
653 |a TypeScript (Computer program language) / http://id.loc.gov/authorities/subjects/sh2013001822 
653 |a JavaScript (Computer program language) / http://id.loc.gov/authorities/subjects/sh96004880 
653 |a Application software / Development / fast 
653 |a COMPUTERS / Programming Languages / General / bisacsh 
653 |a JavaScript (Langage de programmation) 
653 |a JavaScript (Computer program language) / fast 
653 |a TypeScript (Langage de programmation) 
653 |a TypeScript (Computer program language) / fast 
653 |a Application software / Development / http://id.loc.gov/authorities/subjects/sh95009362 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
500 |a Includes index 
015 |a GBB998313 
776 |z 9781492037606 
776 |z 1492037621 
776 |z 9781492037620 
776 |z 1492037656 
776 |z 9781492037651 
776 |z 1492037605 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781492037644/?ar  |x Verlag  |3 Volltext 
082 0 |a 005.2/762 
520 |a Any programmer working with a dynamically typed language will tell you how hard it is to scale to more lines of code and more engineers. That's why Facebook, Google, and Microsoft invented gradual static type layers for their dynamically typed JavaScript and Python code. This practical book shows you how one such type layer, TypeScript, is unique among them: it makes programming fun with its powerful static type system. If you're a programmer with intermediate JavaScript experience, author Boris Cherny will teach you how to master the TypeScript language. You'll understand how TypeScript can help you eliminate bugs in your code and enable you to scale your code across more engineers than you could before. In this book, you'll:Start with the basics: Learn about TypeScript's different types and type operators, including what they're for and how they're usedExplore advanced topics: Understand TypeScript's sophisticated type system, including how to safely handle errors and build asynchronous programsDive in hands-on: Use TypeScript with your favorite frontend and backend frameworks, migrate your existing JavaScript project to TypeScript, and run your TypeScript application in production