function printToConsole(s: string) {
console.log(s);
}
greeter(printToConsole);
Typescript에서 함수를 선언할 때 매개변수 타입을 선언해야 한다.
(선언하지 않으면 암묵적으로 any
가 된다.)
매개변수 옆에 타입을 표기하지 않고서 함수를 선언하기 위해서는 call signature을 사용하면 된다.
함수에 마우스 커서를 올려 놓았을 때 위에 뜨는 것이 call signature이다.
이는 내가 함수를 어떻게 호출해야 하는지를 알려준다.
call signature을 사용하게 되면?
- 함수에 직접 타입을 표기할 필요가 없다.
- 나만의 함수 타입을 만들 수 있다.
- 내가 타입을 생각하게 해준다.(함수의 타입을 설명하고나서 코드를 구현하게 됨)
type Add = (a: number b: number) => number;
const addNum:Add = (a, b) => a + b;