Stack/TypeScript

[TS] 타입 추론 / 타입 단언

7ingout 2022. 7. 26. 10:10

* 타입 추론

명시적으로 타입 선언이 되어 있지 않은 경우, 타입스크립트는 타입을 추론해서 제공함

1) 초기화된 변수 let num2 = 20   // number

2) 기본값이 설정된 매개변수   

function add(a: number, b = 2) {   // b: number = 2

}

3) 반환 값이 있는 함수

function add(a: number, b = 2) {

                return a + b

}

 

* 타입 단언

타입 추론을 통해 판단할 수 있는 타입의 범주를 넘는 경우 더 이상 추론하지 않도록 지시하는 것

 


 

ex06_union

// 타입 추론
// 1. 초기화 된 변수 2. 기본값이 설정된 매개변수 3. 반환값이 있는 함수
let num = 20
function addFunc(a: number, b = 2) {
    return a + b
}
// addFunc(10, 'g') // error 발생
let result = addFunc(10, 20)

// 타입 단언
function someFunc(val: string | number, isNumber: boolean) {
    if(isNumber){
        // 1. 변수 as 타입 (val as number)
        // 2. <타입> 변수 (<number>val)
        // (val as number).toFixed(2)
        (<number>val).toFixed(2)
        
    }
}