我一直在为flot创建一个环境定义文件,作为学习一些TypeScript的练习,但我在flot的文档中多次遇到过这个问题(在轴选项中):
ticks: null or number or ticks array or (fn: axis -> ticks array)
所以我可以在我的axisOptions界面中执行此操作:
interface axisOptions {
ticks?: any;
}
其中涵盖了所有可能的选项,但是有更好的方法将其限制为数字,数组(数字)或函数,但不是其他任何选项吗?
答案 0 :(得分:3)
您目前无法指定多种类型 - 事实上,这是动态any
类型的完美使用,因为虽然它不是“任何东西”但它肯定是动态的。
要在动态类型上强制执行类型,您必须检查它 - 就像在此示例中一样:
function example (input?: any) {
alert(typeof input);
if (typeof input !== 'undefined' && typeof input !== 'string' && typeof input !== 'number') {
alert('no');
return;
}
alert('yes');
}
example(true);
example('Okay');
example();
答案 1 :(得分:0)
您可以通过多种方法定义
来完成您所需的一些工作interface lodash extends lodashProto, lodashStatic {
(value: Array): lodashCurried;
(value: Object): lodashCurried;
(value: string): lodashCurried;
VERISON: string;
}