TS - 함수와 Type Narrowing & Assertion

정호재·2023년 4월 11일
0

Ts

목록 보기
4/5

기본적인 작성 방식

function 함수([매개변수 이름]:[타입]):[return 타입]{
}

함수형 알아둬야 할 것

  • 함수형에 추가적으로 있는 타입

    void 타입: return을 하지 않는 함수 타입

  • TS에서 매개변수 타입을 지정할 경우 필수적으로 인자를 넘겨야 함

    ==> 만약 인자를 해당 매개변수를 필수적으로 요구하지 않고 싶을 경우 변수명 앞에 ? 추가

Narrowing

: 유니온 타입 사용시 불분명한 타입 사용으로 인해 에러가 발생하는 것 상황을 타입을 좁혀 에러없이 사용할 수 있도록 해주는 문법 방식

  • typeof, in instanceof 사용가능

Assertion

: narrowing할 때 사용하며, 무슨 타입이 들어오는지 확실하게 알아서 유니온 타입을 하나의 타입으로 덮어씌울 때 사용함

  • 버그 추적이 어려워 많이 사용하지 않고, if 권장됨

이번 공부 내용 복합 예시

function example(x? :number | string) :void {
 if(typeof(x) === 'number'){
   console.log(3+x)
 }else if(typeof(x) === 'string'){
   console.log(`string x`)
 }
}

출처: 코딩애플, https://codingapple.com/course/typescript-crash-course/

profile
공부 일기장

0개의 댓글