【发布时间】:2017-05-16 05:35:33
【问题描述】:
我正在尝试重载一个具有如下两个重载的函数
getData(): MyModel
getData<T>(type:string):T
现在根据blog 中的详细信息,我正在尝试使用union types 来提供上述函数可以采用的参数类型。
案例 1:(这里没有问题)
当函数有参数并且它们仅在以下类型上有所不同时
getData(type:number): MyModel
getData<T>(type:string):T
getData<T>(type: number|string): MyModel:T {
//implementation
}
案例2:(问题:在这种情况下如何使用Union类型)
当函数参数的数量和类型都不同时,如下所示
getData(): MyModel
getData<T>(type:string):T
问题
- 如何在
Case 2中使用Union types - 如果
Union types不能使用比如何重载这些函数(使用Typescript)
【问题讨论】:
标签: javascript oop typescript overloading union-types