interface로 function를 표현하는 방법
interface HelloPerson {
(name: string, age?: number): void;
}
// age?에서 ?를 빼면 오류가 생긴다. 위에 age?는 number | undefind인데
// ?를 빼면 그냥 number이기 때문에 할당이 불가능 하다.
const helloPerson: HelloPerson = function(name: string, age?: number) {
console.log(`안녕하세요! ${name} 입니다.`);
}
helloPerson("Winnie", 20);