Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20

Programming TypeScript

Making Your JavaScript Applications Scale

Paperback Engels 2019 9781492037651
Verwachte levertijd ongeveer 16 werkdagen

Samenvatting

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 used
- Explore advanced topics: Understand TypeScript’s sophisticated type system, including how to safely handle errors and build asynchronous programs
- Dive 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

Specificaties

ISBN13:9781492037651
Taal:Engels
Bindwijze:paperback
Aantal pagina's:250
Uitgever:O'Reilly
Verschijningsdatum:10-5-2019
Hoofdrubriek:IT-management / ICT

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Over Boris Cherny

Boris Cherny is a Software Engineer at Facebook and the organizer of the San Francisco TypeScript Meetup. A longtime JavaScript programmer and functional programming evangelist Boris has started several startups, and led engineering teams in adtech and venture capital. In his free time, you can find him working on open source on Github.

Andere boeken door Boris Cherny

Inhoudsopgave

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
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
Intermission: Type Aliases, Unions, and Intersections
Arrays
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
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
Relationships Between Types
Subtypes and Supertypes
Variance
Assignability
Type Widening
Refinement
Totality
Advanced Object Types
Type Operators for Object Types
The Record Type
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
Escape Hatches
Type 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
In NodeJS: With Child Processes
Summary
Exercises

9. Frontend and Backend Frameworks
Frontend Frameworks
React
Angular 6/7
Typesafe APIs
Backend Frameworks
Summary

10. Namespaces.Modules
A Brief History of JavaScript Modules
import, export
Dynamic Imports
Using CommonJS and AMD Code
Module Mode Versus Script Mode
Namespaces
Collisions
Compiled Output
Declaration Merging
Summary
Exercise

11. Interoperating with JavaScript
Type Declarations
Ambient Variable Declarations
Ambient Type Declarations
Ambient Module Declarations
Gradually Migrating from JavaScript to TypeScript
Step 1: Add TSC
Step 2a: Enable Typechecking for JavaScript (Optional)
Step 2b: Add JSDoc Annotations (Optional)
Step 3: Rename Your Files to .ts
Step 4: Make It strict
Type Lookup for JavaScript
Using Third-Party JavaScript
JavaScript That Comes with Type Declarations
JavaScript That Has Type Declarations on DefinitelyTyped
JavaScript That Doesn’t Have Type Declarations on DefinitelyTyped
Summary

12. Building and Running TypeScript
Building Your TypeScript Project
Project Layout
Artifacts
Dialing In Your Compile Target
Enabling Source Maps
Project References
Error Monitoring
Running TypeScript on the Server
Running TypeScript in the Browser
Publishing Your TypeScript Code to NPM
Triple-Slash Directives
The types Directive
The amd-module Directive
Summary

13. Conclusion
A. Type Operators
B. Type Utilities
C. Scoped Declarations
D. Recipes for Writing Declaration Files for Third-Party JavaScript Modules
E. Triple-Slash Directives
Internal Directives
Deprecated Directives
F. TSC Compiler Flags for Safety
G. TSX

Index

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Programming TypeScript