14.1 타입 가드란?


타입 가드: 여러 개의 타입으로 지정된 값을 특정 위치에서 원하는 타입으로 구분하는 것

Untitled

→ textInput 이라는 값이 number | string | boolean 의 유니언 타입으로 정의

→ 타입 가드를 적용하여 nubmer 타입으로 구분한 것

위의 그림을 코드로 표현 한다면?

function updateInput(textInput: number | string | boolean) {
    // 타입 가드
    if (typeof textInput === "number") {
        textInput;
    }
}

→ if 문이 타입 가드의 역할을 함.

Untitled

if 문 안에서 textInput 파라미터의 타입이 number 이기 때문에 number 타입이 제공한느 API를 미리 확인하고 자동 완성으로 사용할 수 있음.

타입 가드를 사용하면 특정 위치에서 여러 개의 타입 중 하나의 타입으로 걸러 낼 수 있음

14.2 왜 타입 가드가 필요할까?