TypeScript - 선언 파일과 구성 및 옵션
- global 전역 변수
- import, export가 없거나 declare global이면 전역
- 전역 어디서나 import 없이 사용 가능
- window 등 전역 객체에 타입 정의 가능
- declare
- 오직 선언만 한다. 값(초기값)은 허용되지 않는다. (literal type은 가능)
- 타입 검사(Type Checker)
- lib
- 브라우저에서 실행되지 않는 경우 DOM, condole 등을 제거
- skipLibCheck
- 사용되지 않은 소스에서의 선언은 선언 파일 타입 체크도 생략
- strict
- noImplicitAny, strictNullChecks, strictFunctionTypes 모두 활성화
- 기타
- checkJs with alloHs
- “extends”: “../tsconfig.base.json”
- outDir
- lib
TypeScript - 타입 운영
- Mapped Typed
- 다른 타입을 가져와서 해당 타입의 각 속성에 대해 일부 작업 수행
- 존재하는 타입에 keyof 연산자를 사용해 키를 가져오는 방식
- 존재하는 타입의 키를 매핑하도록 타입에 지시하면 새로운 타입으로 매핑
- Mapped Type - never
- 유니언에서 never은 무시된다.
- Mapped Type은 타입의 멤버를 매핑할 수 있다.
- 조건부 타입은 조건이 충족되는 경우 타입을 never로 변환하는 데 사용할 수 있다.
- Conditional Type - 조건부 타입
- condition ? trueExpression : falseExpression 형식의 조건부 타입
- 함수에 제공된 옵션 객체를 기반으로 함수의 반환 타입을 변경하는데 유용
- 제네릭 타입에 유니언 타입을 제공하는 경우 결과 타입은 각 구성 요소에 조건부 타입을 적용하는 유니언이 된다.
- Conditional type - never
- never은 유니언에서 무시되기 때문에 유니언 타입에서 제네릭 조건부의 결과는 never가 아닌 것이 된다.
- never & SomeType ⇒ never
- never | SomeType ⇒ SomeType
- never은 유니언에서 무시되기 때문에 유니언 타입에서 제네릭 조건부의 결과는 never가 아닌 것이 된다.
- Template Literal Type
- 문자열이 일부 문자열 패턴과 일치함을 나타내고 싶을 때 사용할 수 있다. (primitive 타입만 사용 가능, Symbol 불가)
'JS & TS > TypeScript' 카테고리의 다른 글
[TypeScript] Spring Boot로 개발한 REST API 프론트엔드에서 연동 (0) | 2025.01.24 |
---|---|
[TypeScript] Utility Types (0) | 2024.02.15 |
[TypeScript] Generic (0) | 2024.02.15 |
[TypeScript] 타입 제한자 (0) | 2024.02.15 |
[TypeScript] Class (0) | 2024.02.13 |