언어/타입스크립트

TypeScript 타입 가드

realtrynna 2022. 5. 28. 15:45

TypeScript 타입 가드

컴파일러가 타입을 예측할 수 있도록 타입을 좁혀나가는 방법

  1. is 키워드를 사용한다.
  2. 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