Effective TypeScript. 62 Specific Ways to Improve Your TypeScript - Helion
ISBN: 9781492053699
stron: 264, Format: ebook
Data wydania: 2019-10-17
Księgarnia: Helion
Cena książki: 149,00 zł
TypeScript is a typed superset of JavaScript with the potential to solve many of the headaches for which JavaScript is famous. But TypeScript has a learning curve of its own, and understanding how to use it effectively can take time. This book guides you through 62 specific ways to improve your use of TypeScript.
Author Dan Vanderkam, a principal software engineer at Sidewalk Labs, shows you how to apply these ideas, following the format popularized by Effective C++ and Effective Java (both from Addison-Wesley). You’ll advance from a beginning or intermediate user familiar with the basics to an advanced user who knows how to use the language well.
Effective TypeScript is divided into eight chapters:
- Getting to Know TypeScript
- TypeScript’s Type System
- Type Inference
- Type Design
- Working with any
- Types Declarations and @types
- Writing and Running Your Code
- Migrating to TypeScript
Osoby które kupowały "Effective TypeScript. 62 Specific Ways to Improve Your TypeScript", wybierały także:
- D3.js w akcji 67,42 zł, (20,90 zł -69%)
- Tablice informatyczne. Node.js 16,86 zł, (5,90 zł -65%)
- React i GatsbyJS. Kurs video. Nowoczesne strony internetowe w oparciu o headless CMS i GraphQL 148,98 zł, (59,59 zł -60%)
- TypeScript i React. Kurs video. Tworzenie nowoczesnych komponent 129,00 zł, (51,60 zł -60%)
- Vue.js w praktyce. Kurs video. Poznaj narz 148,98 zł, (59,59 zł -60%)
Spis treści
Effective TypeScript. 62 Specific Ways to Improve Your TypeScript eBook -- spis treści
- Preface
- Who This Book Is For
- Why I Wrote This Book
- How This Book Is Organized
- Conventions in TypeScript Code Samples
- Typographical Conventions Used in This Book
- Using Code Examples
- OReilly Online Learning
- How to Contact Us
- Acknowledgments
- 1. Getting to Know TypeScript
- Item 1: Understand the Relationship Between TypeScript and JavaScript
- Item 2: Know Which TypeScript Options Youre Using
- Item 3: Understand That Code Generation Is Independent of Types
- Item 4: Get Comfortable with Structural Typing
- Item 5: Limit Use of the any Type
- 2. TypeScripts Type System
- Item 6: Use Your Editor to Interrogate and Explore the Type System
- Item 7: Think of Types as Sets of Values
- Item 8: Know How to Tell Whether a Symbol Is in the Type Space or Value Space
- Item 9: Prefer Type Declarations to Type Assertions
- Item 10: Avoid Object Wrapper Types (String, Number, Boolean, Symbol, BigInt)
- Item 11: Recognize the Limits of Excess Property Checking
- Item 12: Apply Types to Entire Function Expressions When Possible
- Item 13: Know the Differences Between type and interface
- Item 14: Use Type Operations and Generics to Avoid Repeating Yourself
- Item 15: Use Index Signatures for Dynamic Data
- Item 16: Prefer Arrays, Tuples, and ArrayLike to number Index Signatures
- Item 17: Use readonly to Avoid Errors Associated with Mutation
- Item 18: Use Mapped Types to Keep Values in Sync
- 3. Type Inference
- Item 19: Avoid Cluttering Your Code with Inferable Types
- Item 20: Use Different Variables for Different Types
- Item 21: Understand Type Widening
- Item 22: Understand Type Narrowing
- Item 23: Create Objects All at Once
- Item 24: Be Consistent in Your Use of Aliases
- Item 25: Use async Functions Instead of Callbacks for Asynchronous Code
- Item 26: Understand How Context Is Used in Type Inference
- Item 27: Use Functional Constructs and Libraries to Help Types Flow
- 4. Type Design
- Item 28: Prefer Types That Always Represent Valid States
- Item 29: Be Liberal in What You Accept and Strict in What You Produce
- Item 30: Dont Repeat Type Information in Documentation
- Item 31: Push Null Values to the Perimeter of Your Types
- Item 32: Prefer Unions of Interfaces to Interfaces of Unions
- Item 33: Prefer More Precise Alternatives to String Types
- Item 34: Prefer Incomplete Types to Inaccurate Types
- Item 35: Generate Types from APIs and Specs, Not Data
- Item 36: Name Types Using the Language of Your Problem Domain
- Item 37: Consider Brands for Nominal Typing
- 5. Working with any
- Item 38: Use the Narrowest Possible Scope for any Types
- Item 39: Prefer More Precise Variants of any to Plain any
- Item 40: Hide Unsafe Type Assertions in Well-Typed Functions
- Item 41: Understand Evolving any
- Item 42: Use unknown Instead of any for Values with an Unknown Type
- Item 43: Prefer Type-Safe Approaches to Monkey Patching
- Item 44: Track Your Type Coverage to Prevent Regressions in Type Safety
- 6. Types Declarations and @types
- Item 45: Put TypeScript and @types in devDependencies
- Item 46: Understand the Three Versions Involved in Type Declarations
- Item 47: Export All Types That Appear in Public APIs
- Item 48: Use TSDoc for API Comments
- Item 49: Provide a Type for this in Callbacks
- Item 50: Prefer Conditional Types to Overloaded Declarations
- Item 51: Mirror Types to Sever Dependencies
- Item 52: Be Aware of the Pitfalls of Testing Types
- 7. Writing and Running Your Code
- Item 53: Prefer ECMAScript Features to TypeScript Features
- Item 54: Know How to Iterate Over Objects
- Item 55: Understand the DOM hierarchy
- Item 56: Dont Rely on Private to Hide Information
- Item 57: Use Source Maps to Debug TypeScript
- 8. Migrating to TypeScript
- Item 58: Write Modern JavaScript
- Item 59: Use @ts-check and JSDoc to Experiment with TypeScript
- Item 60: Use allowJs to Mix TypeScript and JavaScript
- Item 61: Convert Module by Module Up Your Dependency Graph
- Item 62: Dont Consider Migration Complete Until You Enable noImplicitAny
- Index