
TypeScript 타입 가드
컴파일러가 타입을 예측할 수 있도록 타입을 좁혀나가는 방법
- is 키워드를 사용한다.
- is 함수명은 컨벤션이다.
typeof
- typeof 메서드를 사용해 분기 처리를 하면 타입스크립트는 해당 데이터의 타입을 좁혀진 범위로 이해한다.
- 조건문 안에서 매개변수 str 타입이 문자열(string)이므로 문자열 메서드를 사용할 수 있다.

- 조건문 안에서 매개변수 arr 타입이 배열(object)이므로 배열 메서드를 사용할 수 있다.

리터럴 타입 가드
- === / !== 연산자를 사용하여 타입을 구분할 수 있다.
- 유니온 타입을 사용하여 타입을 구분할 수 있다.
type Checker = "실버" | "골드" | "플래티넘";
const checker = (choice: Checker): string => {
if (choice === "실버") {
return "실버";
}
if (choice === "골드") {
return "골드";
}
if (choice === "플래티넘") {
return "플래티넘";
}
return "회원이 아닙니다."
}
const result = checker("골드");
인터페이스 타입 가드
- 인터페이스 User / Info 유니온 타입의 객체를 리턴하는 함수를 사용 후 두 인터페이스의 공통으로 정해진 속성이 아닌 속성에 접근할 경우 에러가 난다.

- 검증할 데이터를 매개변수로 받는 타입 가드를 만든 후 불값을 리턴한다.
- 타입 가드 함수가 true일 경우 스코프 안에서 User 인터페이스 속성에 접근이 가능하다.

'언어 > 타입스크립트' 카테고리의 다른 글
TypeScript const assertion (0) | 2022.11.01 |
---|---|
TypeScript 유틸리티 타입 (0) | 2022.05.29 |
TypeScript 제네릭 (0) | 2022.05.24 |
TypeScript 인터페이스 타입 (0) | 2022.05.23 |
TypeScript 함수 (0) | 2022.05.21 |