typescript핸드북을 보던 중 이해가 잘 안되었던 부분
Call Signatures
함수 타입의 표현식은 속성 선언을 허용하지 않는다고 한다.
속성을 사용하여 호출 하려면 객체 유형에 Call Signatures
를 작성하라고 하는데...
실제 사용법은 아래와 같다.
foo.description = "test"
이 녀석을 해줘야 에러가 제거된다.
type DescribableFunction = {
description: string;
(someArg: number): number;
};
function doSomething(fn: DescribableFunction) {
console.log(fn.description + " returned " + fn(6));
}
const foo = function (n: number) {
return n + 5;
};
foo.description = "test"
doSomething(foo);