[G1-Sync] Manual knowledge update
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-1F695C
|
||||
id: [[P-Reinforce]]-AUTO-1F695C
|
||||
category: "10_Wiki/💡 Topics/Programming & Language"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - 재귀적 불변성 (DeepReadonly)"
|
||||
github_commit: "[P-Reinforce] Continuous Worker - 재귀적 불변성 ([[DeepReadonly]])"
|
||||
---
|
||||
|
||||
# [[재귀적 불변성 (DeepReadonly)]]
|
||||
# [[재귀적 불변성 (Deep[[readonly]])]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 재귀적 불변성(DeepReadonly)은 TypeScript에서 최상위 속성뿐만 아니라 중첩된 내부 객체까지 모두 불변(immutable) 상태로 만드는 커스텀 유틸리티 타입 기법입니다 [1-3]. 내장 `Readonly<T>` 타입이나 `readonly` 수식어가 제공하는 얕은(shallow) 수준의 보호 한계를 극복하기 위해 매핑 타입과 조건부 타입을 결합하여 구현합니다 [1, 3-5]. 전체 데이터 구조의 변경을 방지하여 트리 구조나 복잡한 중첩 데이터를 다루는 상태 관리 및 설정 객체 등에서 데이터 무결성을 보장하는 강력한 방어책 역할을 합니다 [1, 3].
|
||||
@@ -24,7 +24,7 @@ github_commit: "[P-Reinforce] Continuous Worker - 재귀적 불변성 (DeepReado
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Readonly]], 매핑 타입 (Mapped Types), 조건부 타입 (Conditional Types), 유틸리티 타입 (Utility Types)
|
||||
- **Projects/Contexts:** ts-essentials, 프론트엔드 상태 관리 (State Management), 설정 객체 (Configuration objects)
|
||||
- **Projects/Contexts:** ts-essentials, 프론트엔드 상태 관리 ([[State]] [[Management]]), 설정 객체 (Configuration objects)
|
||||
- **Contradictions/Notes:** `Readonly<T>`는 기본 제공되나 `DeepReadonly`는 TypeScript에 내장되어 있지 않다는 점이 특징입니다 [6]. 또한 런타임에 성능 오버헤드를 일으키는 `Object.freeze()`의 얕은 동결과 달리, 이 방식은 컴파일 타임에 타입 레벨에서만 불변성을 검사하고 강제하므로 훨씬 효율적입니다 [5].
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user