JS & TS/TypeScript

[TypeScript] 선언 파일과 구성 및 옵션, 타입 운영

Bay Im 2024. 2. 15. 16:26

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

 

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
  • 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