[G1-Sync] Manual knowledge update

This commit is contained in:
Antigravity Agent
2026-04-30 22:42:02 +09:00
parent 0bd4f19e38
commit c36c0644a1
4888 changed files with 18470 additions and 18602 deletions
@@ -1,10 +1,10 @@
---
id: P-REINFORCE-AUTO-B08904
id: [[P-Reinforce]]-AUTO-B08904
category: "10_Wiki/💡 Topics/Programming & Language"
confidence_score: 0.90
tags: [auto-reinforced]
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - Satisfies Operator"
github_commit: "[P-Reinforce] Continuous Worker - Satisfies [[Opera]]tor"
---
# [[Satisfies Operator]]
@@ -14,14 +14,14 @@ github_commit: "[P-Reinforce] Continuous Worker - Satisfies Operator"
## 📖 구조화된 지식 (Synthesized Content)
- **리터럴 타입 보존 및 구체성 유지 (Literal Type Preservation):** 기존의 타입 어노테이션(`:`)을 사용하면 구체적인 리터럴 값이 일반적인 타입(예: `"/about"`이 범용적인 `string`으로)으로 확장(widening)됩니다 [2, 6]. 반면 `satisfies` 연산자는 객체가 인터페이스를 충족하는지 확인하면서도 원래의 리터럴 타입을 잃지 않고 그대로 보존하여, 이후 코드에서 더 정확한 자동 완성과 정밀한 타입 추론을 가능하게 합니다 [2, 3, 6].
- **엄격한 타입 검증과 과잉 속성 체크 (Excess Property Checking):** 변수를 간접적으로 할당할 때 발생할 수 있는 과잉 속성 체크(EPC)의 우회 문제를 해결합니다 [3, 7]. `satisfies`는 대상 타입에 정의된 요구사항을 객체가 충족하는지 즉시 검사하여 오타를 잡아내며, 원치 않는 잉여 속성(Excess Properties)이 할당되는 것을 컴파일 시점에 철저히 차단합니다 [3, 5, 8].
- **엄격한 타입 검증과 과잉 속성 체크 ([[Excess Property Checking]]):** 변수를 간접적으로 할당할 때 발생할 수 있는 과잉 속성 체크(EPC)의 우회 문제를 해결합니다 [3, 7]. `satisfies`는 대상 타입에 정의된 요구사항을 객체가 충족하는지 즉시 검사하여 오타를 잡아내며, 원치 않는 잉여 속성(Excess Properties)이 할당되는 것을 컴파일 시점에 철저히 차단합니다 [3, 5, 8].
- **타입 단언(`as`) 및 어노테이션(`:`)과의 비교:**
- **타입 어노테이션(`:`):** 변수의 수명 주기에 대한 제약을 정의하지만, 할당된 값의 타입을 명시된 타입으로 강제 확장시킵니다 [6, 9].
- **타입 단언(`as`):** 컴파일러의 타입 검증을 강제로 우회하여 런타임 에러를 유발할 수 있으며, 잉여 속성에 대한 검사를 수행하지 못합니다 [9, 10].
- **`satisfies`:** 타입을 확장하지 않으면서도 정확한 형태를 검증하므로, 객체 리터럴의 유효성 검사 및 정밀한 타입 유지가 필요할 때 가장 안전한 대안이 됩니다 [4, 11].
- **고급 활용 패턴:**
- **불변성 확보:** `as const satisfies` 형태로 결합하면, 객체의 불변성을 보장하면서(런타임 불변성 및 컴파일 타임 보호) 타입 구조까지 엄격하게 강제할 수 있어 설정(Configuration) 객체나 상수 룩업 테이블 작성에 매우 유용합니다 [12].
- **식별 가능한 유니온(Discriminated Unions) 보존:** 유니온 타입에서 판별자(Discriminator) 속성의 리터럴 타입을 그대로 보존하여, 이후 올바른 타입 좁히기(Type Narrowing)가 정상적으로 동작하도록 지원합니다 [13].
- **불변성 확보:** `[[as const]] satisfies` 형태로 결합하면, 객체의 불변성을 보장하면서(런타임 불변성 및 컴파일 타임 보호) 타입 구조까지 엄격하게 강제할 수 있어 설정(Configuration) 객체나 상수 룩업 테이블 작성에 매우 유용합니다 [12].
- **식별 가능한 유니온([[Discriminated Unions]]) 보존:** 유니온 타입에서 판별자(Discriminator) 속성의 리터럴 타입을 그대로 보존하여, 이후 올바른 타입 좁히기(Type Narrowing)가 정상적으로 동작하도록 지원합니다 [13].
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.