如果我声明一个变量func
,它将使用Typescript为它分配一个函数,我已经看到了两种不同的方法:
1)let func: Function
2)let func: () => {}
有什么区别?仅箭头功能是第二个,所有非箭头功能是第一个吗?
let anyFunction: Function;
let dummyFunction: () => {};
let voidFunction: () => void;
function dummy() {
}
function dummy2() {
return {}
}
function dumm3(arg:number) {
return {}
}
// error dummy has ne return type.
dummyFunction = dummy;
// its ok dummy has void return type
voidFunction = dummy;
// its ok
dummyFunction = dummy2;
//error dumm3 has argument
dummyFunction = dumm3;
// its all ok
anyFunction = dumm3;
anyFunction = dummy2;
anyFunction = dummy;