我希望TypeScript在这里抛出编译错误但它会吃掉这段代码而没有任何错误(playground):
interface FancyFunction {
(sql: string): number;
}
function foo(arg: FancyFunction) {
}
function badFunc(): number {
return 1;
};
foo(badFunc); // <<<<<< why no type mismatch??
badFunc
没有FancyFunction
的类型,所以这里发生了什么?