【发布时间】:2019-03-20 19:17:39
【问题描述】:
如何为回调函数或布尔值设置联合类型?我试过这个,但我得到了:
export interface IActions {
dragend?: ((m:any)=>void) | boolean;
click?: ((m:any)=>void) | boolean;
dblclick?: ((m:any)=>void) | boolean;
}
// using the following type guard in code
// also tried `this.setting.click instanceof Function`
if (typeof this.setting.click != 'boolean'){
this.setting.click(m);
} else {
// default action
}
错误:
错误 TS2349:无法调用其类型缺少调用签名的表达式。输入'布尔| ((m: any) => void)' 没有兼容的调用签名。
【问题讨论】:
-
你的编译器设置是什么,没有严格的空检查你的代码可以工作,严格的空检查我得到的错误和你的不同。
标签: javascript typescript