[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,5 +1,5 @@
---
id: P-REINFORCE-AUTO-920865
id: [[P-Reinforce]]-AUTO-920865
category: "10_Wiki/💡 Topics/Programming & Language"
confidence_score: 0.90
tags: [auto-reinforced]
@@ -14,7 +14,7 @@ github_commit: "[P-Reinforce] Continuous Worker - 초과 속성 검사 (Excess P
## 📖 구조화된 지식 (Synthesized Content)
- **작동 원리 및 목적**
TypeScript의 기본 타입 시스템인 구조적 타이핑(Structural Typing)은 객체가 대상 타입의 '최소한의 속성'만 갖추면 할당을 허용합니다 [3, 6, 7]. 그러나 객체 리터럴(Object Literals)에 대해서는 특별 대우를 하여 예외적으로 더 엄격하게 검사합니다 [3, 4]. TypeScript는 객체 리터럴을 직접 넘길 때 사용자가 불필요한 초과 속성을 의도적으로 전달할 확률이 극히 낮다고 판단하므로, 속성명 오타(예: `color` 대신 `colour` 입력)로 인한 런타임 오류를 사전에 차단합니다 [4, 5].
TypeScript의 기본 타입 시스템인 구조적 타이핑([[Structural Typing]])은 객체가 대상 타입의 '최소한의 속성'만 갖추면 할당을 허용합니다 [3, 6, 7]. 그러나 객체 리터럴(Object Literals)에 대해서는 특별 대우를 하여 예외적으로 더 엄격하게 검사합니다 [3, 4]. TypeScript는 객체 리터럴을 직접 넘길 때 사용자가 불필요한 초과 속성을 의도적으로 전달할 확률이 극히 낮다고 판단하므로, 속성명 오타(예: `color` 대신 `colour` 입력)로 인한 런타임 오류를 사전에 차단합니다 [4, 5].
- **한계점 (우회 취약성)**
초과 속성 검사는 '객체 리터럴을 직접 다룰 때만' 활성화된다는 뚜렷한 한계를 가집니다 [8, 9]. 객체 리터럴을 먼저 중간 변수에 할당한 뒤, 그 변수를 다른 타입의 변수에 할당하거나 함수 인자로 전달하는 '간접 할당'의 경우, 구조적 타이핑의 기본 원칙으로 돌아가 검사가 우회(작동하지 않음)됩니다 [1, 4, 9, 10]. 이로 인해 무효한 속성이 React DOM에 그대로 전달되어 경고를 발생시키거나 컴포넌트의 의도치 않은 리렌더링을 유발하는 등, 오타로 인한 미묘한 버그가 방치될 수 있습니다 [11, 12].
@@ -30,7 +30,7 @@ github_commit: "[P-Reinforce] Continuous Worker - 초과 속성 검사 (Excess P
## 🔗 지식 연결 (Graph)
- **Related Topics:** 구조적 타이핑 (Structural Typing), 객체 리터럴 (Object Literals), [[satisfies 연산자]]
- **Projects/Contexts:** typescript-eslint (초과 속성 검사가 변수 할당 시 우회되는 문제를 해결하기 위해 `no-excess-properties`라는 새로운 린트 규칙이 제안되었으나, 유연성 및 복잡도 문제로 반영되지 않음 [12, 17, 18]), React 컴포넌트 프로퍼티 검증 (우회된 초과 속성이 예기치 못한 리렌더링을 일으키는 대표적 맥락 [11])
- **Projects/Contexts:** typescript-[[ESLint]] (초과 속성 검사가 변수 할당 시 우회되는 문제를 해결하기 위해 `no-excess-properties`라는 새로운 린트 규칙이 제안되었으나, 유연성 및 복잡도 문제로 반영되지 않음 [12, 17, 18]), React 컴포넌트 프로퍼티 검증 (우회된 초과 속성이 예기치 못한 리렌더링을 일으키는 대표적 맥락 [11])
- **Contradictions/Notes:** TypeScript의 기본 철학인 '구조적 타이핑'은 최소 요건만 맞으면 추가 속성을 허용한다는 입장이지만, '초과 속성 검사'는 추가 속성을 에러로 처리한다는 점에서 타입 시스템 내에서 서로 상반되는 규칙처럼 보일 수 있습니다. 이는 TypeScript가 개발자의 '실수 방지'를 위해 객체 리터럴에만 부여한 의도적 예외 동작입니다 [1, 7].
---