--- id: wiki-2026-0508-as-const-assertion title: as const Assertion category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [P-Reinforce-CAF879] duplicate_of: none source_trust_level: A confidence_score: 0.95 tags: [uncategorized] raw_sources: [] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Mega Batch 2 - Wikified [[as const]] Assertion" inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[as const Assertion]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > `as const` Assertion은 TypeScriptμ—μ„œ 값을 κΉŠμ€ 읽기 μ „μš©(deeply [[readonly]]) μƒνƒœλ‘œ λ§Œλ“€κ³  νƒ€μž…μ„ ν•΄λ‹Ή λ¦¬ν„°λŸ΄ κ°’μœΌλ‘œ μ’νžˆλŠ”(narrow) κΈ°λŠ₯μž…λ‹ˆλ‹€ [1]. 이λ₯Ό 톡해 κ°μ²΄λ‚˜ 배열이 λ³€κ²½λ˜μ§€ μ•Šλ„λ‘ 컴파일 νƒ€μž„μ— 보μž₯ν•˜λ©°, 더 μ •ν™•ν•œ νƒ€μž… 좔둠을 κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€ [1, 2]. 주둜 μ ˆλŒ€ λ³€κ²½λ˜μ–΄μ„œλŠ” μ•ˆ λ˜λŠ” ꡬ성(configuration) κ°μ²΄λ‚˜ 쑰회 ν…Œμ΄λΈ”(lookup tables)을 μ •μ˜ν•  λ•Œ μœ μš©ν•˜κ²Œ μ‚¬μš©λ©λ‹ˆλ‹€ [2]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **κΉŠμ€ 읽기 μ „μš© 및 λ¦¬ν„°λŸ΄ νƒ€μž… μΆ”λ‘ :** `as const` 단언은 λ³€μˆ˜μ˜ νƒ€μž…μ„ 넓은 λ²”μœ„μ˜ μ›μ‹œ νƒ€μž…(예: `string`) λŒ€μ‹  κ°€μž₯ ꡬ체적인 λ¦¬ν„°λŸ΄ νƒ€μž…(예: ꡬ체적인 λ¬Έμžμ—΄ κ°’)으둜 μ’ν˜€μ€λ‹ˆλ‹€ [1]. λ˜ν•œ κ°μ²΄λ‚˜ λ°°μ—΄μ˜ λͺ¨λ“  속성을 κΉŠμ€ 읽기 μ „μš©(`readonly`)으둜 λ§Œλ“€μ–΄, 값이 λ³€κ²½λ˜λŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€ [1]. - **λΆˆλ³€μ„±κ³Ό μ•ˆμ „μ„± 확보:** 이 κΈ°λŠ₯을 μ‚¬μš©ν•˜λ©΄ μ˜λ„μΉ˜ μ•Šμ€ κ°’μ˜ 변경을 막아 컴파일 νƒ€μž„μ˜ νƒ€μž… 검증과 λŸ°νƒ€μž„μ˜ λΆˆλ³€μ„±(immutability)을 λͺ¨λ‘ 확보할 수 μžˆμŠ΅λ‹ˆλ‹€ [2]. - **`satisfies` μ—°μ‚°μžμ™€μ˜ κ²°ν•© νŒ¨ν„΄:** TypeScriptμ—μ„œ `as const`λŠ” `satisfies` μ—°μ‚°μžμ™€ κ²°ν•©ν•˜μ—¬ 자주 μ‚¬μš©λ©λ‹ˆλ‹€ [2]. 이 쑰합은 νƒ€μž… 검증(type validation)κ³Ό λΆˆλ³€μ„±μ„ λ™μ‹œμ— μ œκ³΅ν•˜λ―€λ‘œ, λ³€κ²½λ˜μ–΄μ„œλŠ” μ•ˆ λ˜λŠ” μ„€μ • κ°μ²΄λ‚˜ 룩업 ν…Œμ΄λΈ”μ„ μ•ˆμ „ν•˜κ²Œ μƒμ„±ν•˜λŠ” 데 맀우 이상적인 νŒ¨ν„΄μœΌλ‘œ ν‰κ°€λ°›μŠ΅λ‹ˆλ‹€ [2, 3]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & Updates) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** 지식 μžμ‚°ν™” 및 κΈ°μ‘΄ λ„€νŠΈμ›Œν¬ 연동 단계. - **μ •μ±… λ³€ν™”:** Programming & Language μΉ΄ν…Œκ³ λ¦¬μ˜ μ „λ¬Έμ„± 확보 및 링크 밀도 μ΅œμ ν™”. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[Readonly]], Literal Types, [[Satisfies [[Opera]]tor]] - **Projects/Contexts:** Configuration Objects, Lookup Tables - **Contradictions/Notes:** 제곡된 μ†ŒμŠ€μ—μ„œ `as const`에 λŒ€ν•œ 단독 μ„€λͺ…은 λ‹€μ†Œ κ°„λž΅ν•˜λ©° 정보가 λΆ€μ‘±ν•œ νŽΈμ΄μ§€λ§Œ, `satisfies` μ—°μ‚°μžμ™€ κ²°ν•©ν•  λ•Œ λΆˆλ³€μ˜ νƒ€μž… μ•ˆμ „ 객체(immutable, type-safe objects)λ₯Ό μƒμ„±ν•˜λŠ” 핡심적인 역할을 ν•œλ‹€λŠ” 점이 λšœλ ·ν•˜κ²Œ κ°•μ‘°λ©λ‹ˆλ‹€ [1-3]. --- *Last updated: 2026-04-18* --- ## πŸ€– LLM ν™œμš© 힌트 (How to Use This Knowledge) **μ–Έμ œ 이 지식을 μ“°λŠ”κ°€:** - *(TODO)* **μ–Έμ œ μ“°λ©΄ μ•ˆ λ˜λŠ”κ°€:** - *(TODO)* ## πŸ§ͺ 검증 μƒνƒœ (Validation) - **정보 μƒνƒœ:** needs_review - **좜처 신뒰도:** A - **κ²€ν†  이유:** *(P-Reinforce Phase 1 μžλ™ μ •κ·œν™”. λ³Έλ¬Έ 검증 ν•„μš”.)* ## 🧬 쀑볡 검사 (Duplicate Check) - **κΈ°μ‘΄ μœ μ‚¬ λ¬Έμ„œ:** *(TODO: μΈλ±μ„œ ν΄λŸ¬μŠ€ν„° 리포트 μ°Έμ‘°)* - **처리 방식:** UPDATE (μžλ™ μ •κ·œν™”) - **처리 이유:** Phase 1 μ •κ·œν™” β€” μ˜› ν…œν”Œλ¦Ώ/λˆ„λ½ ν•„λ“œ 보강. ## πŸ•“ λ³€κ²½ 이λ ₯ (Changelog) | λ‚ μ§œ | λ³€κ²½ λ‚΄μš© | 처리 방식 | 신뒰도 | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 μ •κ·œν™” (frontmatter + 헀더 ν‘œμ€€ν™”) | UPDATE | A | ## πŸ’» μ½”λ“œ νŒ¨ν„΄ (Code Patterns) **νŒ¨ν„΄ 1:** *(TODO: 이 ν”„λ‘œμ νŠΈ μ»¨λ²€μ…˜ λ°˜μ˜ν•œ ꡬ쑰 μŠ€μΌˆλ ˆν†€)* ```text # TODO ``` ## πŸ€” μ˜μ‚¬κ²°μ • κΈ°μ€€ (Decision Criteria) **선택 Aλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **선택 Bλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **κΈ°λ³Έκ°’:** > *(TODO)* ## ❌ μ•ˆν‹°νŒ¨ν„΄ (Anti-Patterns) - **[μ•ˆν‹°νŒ¨ν„΄]:** *(TODO: 무엇을 ν•˜λ©΄ μ•ˆ λ˜λŠ”κ°€ + 이유 + λŒ€μ‹  무엇을)*