function add(a: number, b: number) {
return a + b;
}
const add = (a: number, b: number) => a + b;
type Add = (a: number, b: number) => number;//이게 call signature
const add: Add = (a, b) => a + b;
변수 add를 선언할 때 타입스크립트에게 타입이 number라고 말해줄 필요가 없다.
위 함수에서..
type Add = (a: number, b: number) => number;
const add: Add = (a, b) => {a + b}; //a+b가 아니라 {}안에 a+b를 쓰면
{}안의 {a+b}가 함수 내부 내용으로 처리돼서 return값이void가 된다.
즉,
const add: Add = (a, b) => a + b;
이 화살표 함수는 다음과 같다.
function add(a, b): Add {
return a + b;
}
그러나
const add: Add = (a, b) => {a + b};
이 화살표 함수는 다음과 같다.
function add(a, b) : Add {
a + b;
}