TypeScript函数参数 - 数组或单个项目

时间:2014-05-09 10:16:48

标签: typescript

在我的TypeScript应用程序中,我使用了一个库函数(用JavaScript编写),它可以返回string(1个结果)或string[](几个)。有没有办法在TS中表示这一点而不会回到any

目前我只使用values: string[],但这并不能恰当地代表标量结果的可能性。

2 个答案:

答案 0 :(得分:1)

从TypeScript 1.0开始,没有简单的方法来建模具有不兼容的不同返回类型的函数(您可以定义interface例如,返回共享公共基类型的对象,但是数组和字符串不)。

您需要使用any来表示返回的值。

您可以在CodePlex上关注并投票this,这是建议实施类型联盟之类的东西。

答案 1 :(得分:1)

如果传入的参数的类型或数量控制输出将是什么,则只能这样做。这是因为TypeScript支持函数重载。例如:

declare function a():number;
declare function a(f:number):number[];


var foo = a(); // number
var bar = a(123); // number[]