Skip to content

《이펙티브 타입스크립트: 동작 원리의 이해와 구체적인 조언 62가지》 책을 기반으로 공부한 내용을 기록합니다.

Notifications You must be signed in to change notification settings

Bori-github/Effective_TypeScript

Repository files navigation

Effective TypeScript | Bori Lee

《이펙티브 타입스크립트: 동작 원리의 이해와 구체적인 조언 62가지》 책을 기반으로 공부한 내용을 기록합니다.

Effective TypeScript 스터디 레포지토리 바로가기

  • Chapter 1: Getting to Know TypeScript

    • 📝 Item 1: Understand the Relationship Between TypeScript and JavaScript
    • 📝 Item 2: Know Which TypeScript Options You’re 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
  • Chapter 2: TypeScript’s 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
  • Chapter 3: Type Inference

  • Chapter 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: Don’t 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
  • Chapter 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
  • Chapter 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
  • Chapter 7: Writing and Running Your Code

  • Chapter 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: Don’t Consider Migration Complete Until You Enable noImplicitAny

About

《이펙티브 타입스크립트: 동작 원리의 이해와 구체적인 조언 62가지》 책을 기반으로 공부한 내용을 기록합니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published