Files
2nd/10_Wiki/Topics/Excess-Property-Checking.md
T
2026-05-02 23:33:34 +09:00

1.6 KiB


id: P-Reinforce-AI-TS-EXCESS-PROPERTITY category: Unified confidence_score: 1.00 tags: [TypeScript, Programming, TypeSafety, ErrorHandling] last_reinforced: 2026-04-20

Excess-Property-Checking (잉여 속성 체크)

📌 한 줄 통찰 (The Karpathy Summary)

"너 정체가 뭐야? 시키지 않은 건 하지 마." 객체 리터럴을 변수에 할당하거나 함수 인자로 전달할 때, 정의되지 않은 추가 속성이 포함되어 있으면 타입 에러를 발생시켜 오타나 실수(Mistyping)를 방지하는 TypeScript의 안전장치다.

📖 구조화된 지식 (Synthesized Content)

  • Object Literal Restriction: 변수에 미리 담지 않고 직접 {...} 형태로 넘길 때만 발동함.
  • Structural Typing Exception: TypeScript는 기본적으로 구조적 타이핑을 따르지만, 리터럴 할당 시에는 '엄격한 타입 일치'를 요구하여 버그를 줄임.
  • Bypassing Methods:
    • 변수에 할당 후 전달.
    • 타입 단언(as AnyType) 사용.
    • 인덱스 시그니처([key: string]: any) 추가.

⚠️ 모순 및 업데이트 (RL Update)

  • 이 기능은 때때로 "덕 타이핑(Duck Typing)이라며 왜 안 돼?"라며 초보자들을 당황하게 만든다. 하지만 이는 리터럴 객체 생성 시 발생할 수 있는 오타(예: colour vs color)를 런타임 이전 단계에서 원천 봉쇄하기 위한 의도적인 설계다.

🔗 지식 연결 (Graph)

  • Related: Structural-Typing-vs-Nominal-Typing , TypeScript-Best-Practices
  • Concept: Type-Guard