--- id: wiki-2026-0508-as-const title: as const category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [P-Reinforce-AUTO-701C2F] duplicate_of: none source_trust_level: A confidence_score: 0.9 tags: [auto-reinforced] raw_sources: [] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - as const" inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[as const|as const]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > `as const`๋Š” TypeScript์—์„œ ๊ฐ’์„ ๊นŠ์€ ์ˆ˜์ค€์˜ ์ฝ๊ธฐ ์ „์šฉ(deeply [[readonly|readonly]])์œผ๋กœ ๋งŒ๋“ค๊ณ , ํ•ด๋‹น ํƒ€์ž…์„ ๊ตฌ์ฒด์ ์ธ ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์œผ๋กœ ์ขํžˆ๋Š”(narrows types to their literal values) ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋‹จ์–ธ(assertion) ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค [1]. ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด ๋“ฑ์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋„๋ก ์ปดํŒŒ์ผ ํƒ€์ž„ ๊ฒ€์ฆ๊ณผ ๋Ÿฐํƒ€์ž„ ๋ถˆ๋ณ€์„ฑ์„ ๋™์‹œ์— ํ™•๋ณดํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ž…๋‹ˆ๋‹ค [2]. ํŠนํžˆ ๊ตฌ์„ฑ(configuration) ๊ฐ์ฒด๋‚˜ ๋ฃฉ์—… ํ…Œ์ด๋ธ”์„ ์ •์˜ํ•  ๋•Œ ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ž์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๊ณ  ์•ˆ์ „ํ•œ ํƒ€์ž… ํŒจํ„ด์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค [2, 3]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **๊นŠ์€ ์ฝ๊ธฐ ์ „์šฉ ๋ฐ ๋ฆฌํ„ฐ๋Ÿด ํƒ€์ž… ์ถ•์†Œ (Deeply Readonly & Literal Type Narrowing)** `as const` ๋‹จ์–ธ(assertion)์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ’์€ ๊นŠ๊ฒŒ ์ฝ๊ธฐ ์ „์šฉ(deeply readonly) ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค [1]. ์ด์™€ ๋”๋ถˆ์–ด TypeScript๋Š” ๊ฐ’์„ ํฌ๊ด„์ ์ธ ๊ธฐ๋ณธ ํƒ€์ž…(์˜ˆ: `string`์ด๋‚˜ `number`)์œผ๋กœ ๋„“ํžˆ์ง€ ์•Š๊ณ , ์ž‘์„ฑ๋œ ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’ ์ž์ฒด๋กœ ํƒ€์ž…์„ ์ขํ˜€์„œ(narrow) ์ถ”๋ก ํ•ฉ๋‹ˆ๋‹ค [1]. * **`satisfies` ์—ฐ์‚ฐ์ž์™€์˜ ๊ฒฐํ•ฉ ํŒจํ„ด** `as const`๋Š” `satisfies` ์—ฐ์‚ฐ์ž์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ๋•Œ ๋ถˆ๋ณ€์„ฑ(immutability)๊ณผ ํƒ€์ž… ๊ฒ€์ฆ(type validation)์„ ๋™์‹œ์— ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ํŒจํ„ด์ด ๋ฉ๋‹ˆ๋‹ค [2]. ์ด ์กฐํ•ฉ์€ ์ ˆ๋Œ€๋กœ ๋ณ€๊ฒฝ๋˜์–ด์„œ๋Š” ์•ˆ ๋˜๋Š” ์„ค์ •(configuration) ๊ฐ์ฒด๋‚˜ ๋ฃฉ์—… ํ…Œ์ด๋ธ”(lookup tables)์„ ์ž‘์„ฑํ•  ๋•Œ ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค [2, 4]. * **์ปดํŒŒ์ผ ํƒ€์ž„๊ณผ ๋Ÿฐํƒ€์ž„์˜ ์•ˆ์ •์„ฑ ๋ณด์žฅ** ์ด๋Ÿฌํ•œ ๋‹จ์–ธ ํŒจํ„ด์„ ๋„์ž…ํ•˜๋ฉด ์˜๋„์น˜ ์•Š์€ ๊ฐ’์˜ ๋ณ€๊ฒฝ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋™์‹œ์—, ๊ฐ์ฒด๊ฐ€ ํ•„์ˆ˜์ ์ธ ํƒ€์ž… ๊ตฌ์กฐ์™€ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋„๋ก ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2]. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„์˜ ์ฒ ์ €ํ•œ ๊ฒ€์ฆ๊ณผ ํƒ€์ž… ์•ˆ์ „์„ฑ์ด ๋ณด์žฅ๋œ ๋ถˆ๋ณ€ ๊ฐ์ฒด๋ฅผ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค [2, 3]. * **๊ธฐํƒ€ ์‚ฌ์šฉ ๋งฅ๋ฝ** ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋ก ํŠธ์—”๋“œ ํ™˜๊ฒฝ์—์„œ ํƒ€์ž… ์ถ”๋ก ์ด๋‚˜ ํƒ€์ž… ๊ฐ€๋“œ๋ฅผ ๋ชฉ์ ์œผ๋กœ `as const`๋ฅผ ํ”ํžˆ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•ด ์™”์œผ๋‚˜, ์ตœ์‹  ๋ฌธ๋ฒ• ๊ตฌ์กฐ๋‚˜ ํŒจํ„ด ๋งค์นญ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ ์šฉ ๋“ฑ์„ ํ†ตํ•ด ์ด๋Ÿฌํ•œ `as const` ์‚ฌ์šฉ์„ ์ œ๊ฑฐ(๋Œ€์ฒด)ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๊ฒฌ๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [5]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & Updates) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** satisfies, [[readonly|readonly]], Literal Types, Type Narrowing - **Projects/Contexts:** TypeScript ๊ตฌ์„ฑ(configuration) ๊ฐ์ฒด ๋ฐ ๋ฃฉ์—… ํ…Œ์ด๋ธ” ๋ชจ๋ธ๋ง, ๋ถˆ๋ณ€์„ฑ(Immutability) ๋ณด์žฅ ํŒจํ„ด - **Contradictions/Notes:** ์†Œ์Šค ์ƒ์— ๋ช…์‹œ์ ์ธ ๋ชจ์ˆœ์€ ์—†์œผ๋‚˜, ํƒ€์ž… ์ถ”๋ก ๊ณผ ํƒ€์ž… ๊ฐ€๋“œ๋ฅผ ์œ„ํ•ด ๊ด€ํ–‰์ ์œผ๋กœ `as const`๋ฅผ ๋ถ™์—ฌ ์“ฐ๋˜ ๊ฒƒ์„ ํŠน์ • ํŒจํ„ด ๋„์ž…์„ ํ†ตํ•ด ์ƒ๋žตํ•  ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [5]. --- *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: ๋ฌด์—‡์„ ํ•˜๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€ + ์ด์œ  + ๋Œ€์‹  ๋ฌด์—‡์„)*