--- id: P-REINFORCE-AI-TS-EXCESS-PROPERTITY category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 1.00 tags: [TypeScript, Programming, TypeSafety, ErrorHandling] last_reinforced: 2026-04-20 --- # [[Excess-Property-Checking|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