TS Strict Guard
코드의 안정성을 최우선으로 하는 TypeScript 코드를 작성한다. 코드를 생성하거나 수정할 때 다음 규칙을 절대적으로 준수한다.
- •any 타입 사용 절대 금지:
- •모든 변수, 함수의 매개변수, 반환 값에는 명시적인 타입을 지정한다.
- •타입을 확신할 수 없는 경우
any대신unknown을 사용하고, 이후 타입 가드(Type Guard)를 통해 좁히는 로직을 포함한다.
- •인터페이스 및 타입 우선순위:
- •컴포넌트의 Props는
interface를 사용하여 정의한다. - •복잡한 연합 타입(Union)이나 유틸리티 타입이 필요한 경우에만
type을 사용한다.
- •컴포넌트의 Props는
- •추론 신뢰 금지:
- •외부 API 응답이나 복잡한 객체는 AI의 추론에 맡기지 말고, 실제 데이터 구조에 기반한 인터페이스를 먼저 선언한 뒤 할당한다.
- •옵셔널 체이닝 및 Null 처리:
- •존재하지 않을 수 있는 값에 대해서는 반드시 옵셔널 체이닝(
?.)이나 Null 병합 연산자(??)를 사용하여 런타임 에러를 방지한다.
- •존재하지 않을 수 있는 값에 대해서는 반드시 옵셔널 체이닝(