1.6 KiB
1.6 KiB
id, category, confidence_score, tags, last_reinforced
| id | category | confidence_score | tags | last_reinforced | ||||
|---|---|---|---|---|---|---|---|---|
| P-REINFORCE-AI-TS-EXCESS-PROPERTITY | 10_Wiki/💡 Topics/AI | 1.00 |
|
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)이라며 왜 안 돼?"라며 초보자들을 당황하게 만든다. 하지만 이는 리터럴 객체 생성 시 발생할 수 있는 오타(예:
colourvscolor)를 런타임 이전 단계에서 원천 봉쇄하기 위한 의도적인 설계다.
🔗 지식 연결 (Graph)
- Related: Structural-Typing-vs-Nominal-Typing , TypeScript-Best-Practices
- Concept: Type-Guard