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

TypeScript函数参数-数组或单个项,typescript,Typescript,在我的TypeScript应用程序中,我使用了一个库函数(用JavaScript编写),它可以返回字符串(对于1个结果)或字符串[](对于多个结果)。有没有一种方法可以在TS中表示这一点而不依赖于任何 目前,我只是使用值:string[],但这并不能正确地表示标量结果的可能性。从TypeScript 1.0开始,没有简单的方法来建模具有各种不兼容的返回类型的函数(例如,可以定义一个接口,该接口返回共享公共基类型但数组和字符串不共享的对象) 您需要使用any来表示返回的值 您可以跟进CodePle

在我的TypeScript应用程序中,我使用了一个库函数(用JavaScript编写),它可以返回
字符串(对于1个结果)或
字符串[]
(对于多个结果)。有没有一种方法可以在TS中表示这一点而不依赖于
任何


目前,我只是使用
值:string[]
,但这并不能正确地表示标量结果的可能性。

从TypeScript 1.0开始,没有简单的方法来建模具有各种不兼容的返回类型的函数(例如,可以定义一个
接口
,该接口返回共享公共基类型但数组和字符串不共享的对象)

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


您可以跟进CodePlex并对其进行投票,CodePlex建议实现类似类型联合的功能。

只有在传入的参数的类型或数量控制输出的情况下,您才能这样做。这是因为TypeScript支持函数重载。例如:

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


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

谢谢,CodePlex的问题被否决了,
var a:string | string[];
是个好主意。