--- id: P-REINFORCE-AUTO-3D0990 category: "[[10_Wiki/πŸ’‘ Topics/Design & Experience]]" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - TypeScript 컴파일러 캐싱 μ΅œμ ν™”" --- # [[TypeScript 컴파일러 캐싱 μ΅œμ ν™”]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > TypeScript μ»΄νŒŒμΌλŸ¬λŠ” νƒ€μž… 검사 속도와 IDE 응닡성을 ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ νƒ€μž… 관계λ₯Ό μΊμ‹±ν•˜λŠ” μ΅œμ ν™” λ©”μ»€λ‹ˆμ¦˜μ„ μ‚¬μš©ν•©λ‹ˆλ‹€. 이 캐싱 λ©”μ»€λ‹ˆμ¦˜μ€ 객체λ₯Ό ν™•μž₯ν•  λ•Œ 주둜 `interface extends`λ₯Ό μ‚¬μš©ν•  경우 ν•΄λ‹Ή 이름을 κΈ°μ€€μœΌλ‘œ 효과적으둜 μž‘λ™ν•˜λ©°, νƒ€μž… 검사 μ„±λŠ₯을 ν–₯μƒμ‹œν‚€λŠ” 핡심적인 역할을 ν•©λ‹ˆλ‹€ [1-3]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **μΈν„°νŽ˜μ΄μŠ€ ν™•μž₯(Interface Extends)의 캐싱 이점**: TypeScript μ»΄νŒŒμΌλŸ¬λŠ” `interface extends`λ₯Ό 톡해 객체λ₯Ό ν™•μž₯ν•  λ•Œ ν•΄λ‹Ή μΈν„°νŽ˜μ΄μŠ€μ˜ 이름을 κΈ°μ€€μœΌλ‘œ νƒ€μž… 관계λ₯Ό μΊμ‹±ν•©λ‹ˆλ‹€ [1-3]. ν•œ 번 μΊμ‹œκ°€ λ§Œλ“€μ–΄μ§€λ©΄ ν•΄λ‹Ή 이름이 μ‚¬μš©λ˜λŠ” λͺ¨λ“  κ³³μ—μ„œ μΊμ‹œλ₯Ό μ°Έμ‘°ν•˜κ²Œ λ˜λ―€λ‘œ νƒ€μž… 검사가 효율적으둜 μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€ [1, 2]. - **ꡐ집합(Intersection Types)의 μ—°μ‚° μ˜€λ²„ν—€λ“œ**: `type` μ„ μ–Έ μ‹œ μ•°νΌμƒŒλ“œ(`&`) 기호λ₯Ό μ‚¬μš©ν•˜λŠ” ꡐ집합은 μΈν„°νŽ˜μ΄μŠ€μ™€ 달리 전체 ꡐ집합 νƒ€μž… μžμ²΄κ°€ μΊμ‹±λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ [3]. ꡐ집합은 속성을 μž¬κ·€μ μœΌλ‘œ 병합해야 ν•˜κ³  μ²˜λ¦¬κ°€ λ³΅μž‘ν•˜μ—¬, μ½”λ“œκ°€ μ‚¬μš©λ  λ•Œλ§ˆλ‹€ 거의 맀번 ꡬ쑰λ₯Ό μƒˆλ‘­κ²Œ 계산해야 ν•©λ‹ˆλ‹€ [1-3]. 특히 검사 λŒ€μƒμ΄ λ˜λŠ” ꡐ집합 νƒ€μž…μ— λŒ€ν•΄ "μœ νš¨ν•˜κ±°λ‚˜ ν‰νƒ„ν™”λœ(flattened)" νƒ€μž…μ„ ν™•μΈν•˜κΈ° 전에 λͺ¨λ“  ꡬ성 μš”μ†Œλ₯Ό 일일이 확인해야 ν•˜λŠ” μ˜€λ²„ν—€λ“œκ°€ λ°œμƒν•©λ‹ˆλ‹€ [3]. - **μ„±λŠ₯ κ°€μ΄λ“œλΌμΈμ˜ ꢌμž₯ 사항**: TypeScript μ„±λŠ₯ κ°€μ΄λ“œ(Performance Guide)μ—μ„œλŠ” μœ„μ™€ 같은 컴파일러의 캐싱 λ™μž‘ 방식 λ•Œλ¬Έμ—, κ°€λŠ₯ν•˜λ©΄ κ΅μ§‘ν•©λ³΄λ‹€λŠ” `interface extends`λ₯Ό μ‚¬μš©ν•  것을 ꢌμž₯ν•©λ‹ˆλ‹€ [1-3]. 이λ₯Ό 톡해 TypeScript μ»΄νŒŒμΌλŸ¬κ°€ 캐싱을 보닀 잘 ν™œμš©ν•  수 있으며, 결과적으둜 νƒ€μž… 검사(Type Checking) 및 IDE의 μ½”λ“œ 기반 μ—…λ°μ΄νŠΈ μ„±λŠ₯이 μ•½κ°„ 더 λΉ¨λΌμ§‘λ‹ˆλ‹€ [4, 5]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Design & Experience λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[μΈν„°νŽ˜μ΄μŠ€ ν™•μž₯(Interface Extends)]], [[ꡐ집합 νƒ€μž…(Intersection Types)]] - **Projects/Contexts:** [[TypeScript Performance Guide]] - **Contradictions/Notes:** μΈν„°νŽ˜μ΄μŠ€ κ°„μ˜ νƒ€μž… κ΄€κ³„λŠ” 이름 기반으둜 μΊμ‹±λ˜μ–΄ μ„±λŠ₯상 이점을 μ œκ³΅ν•˜μ§€λ§Œ, ꡐ집합 νƒ€μž…μ€ 전체가 μΊμ‹±λ˜μ§€ μ•Šκ³  μ‚¬μš©ν•  λ•Œλ§ˆλ‹€ 평탄화 및 μž¬κ³„μ‚°μ„ 거쳐야 ν•œλ‹€λŠ” ꡬ쑰적 차이가 μ‘΄μž¬ν•©λ‹ˆλ‹€ [3]. --- *Last updated: 2026-04-18* - Raw Source: [[00_Raw/2026-04-20/TypeScript 컴파일러 캐싱 μ΅œμ ν™”.md]] ---