본문 바로가기

카테고리 없음

Typescript Function with Annotation and Function with Inference

반응형

이번엔 type annotation 과 type inference로 함수를 정의하는 것을 알아보자.

 

 

우선 type annotation으로 정의하는 것을 보면

const add = (a:number ,b :number) :number => {
  return a + b;
}

 

type inference로 정의하는 법을 보면

 

const add = (a:number ,b :number) => {
  return a + b;
}

인자로 받는 것들은 타입을 써주지만 리턴하는 값에 대한 타입 지정이 빠져있다.  타입스크립트는 타입에 관해 엄격하기 때문에 2개의 인자로 받는 것들이 number 이니 리턴 값도 number로 추론해 냈다. 

 

내가 본 자료에서는 함수 정의에서 만큼은 type annotation을 비록 몇글자 더 적어야해서 귀찮지만 사용하는 것을 권장한다. 

 

그 이유는 return 값 때문인데 

 

return statement 가 없어도 실제 코드 편집기에서도 전혀 에러를 띄고 있지 않다. 

return을 하지 않았기 때문에 void를 반환하는 것으로 알고 그냥 넘기는 것이니 실수하지 않기 위해서라도 return type 까지 써주어 진행하는게 나을 것 같다. 

반응형