在下面的示例中,myFoo
将接受Boolean
类型的参数。
function myFoo(value:Boolean) { }
我的问题是,是否可以使用原型将myFoo
函数更改为接受多个types
?
例如function myFoo(value:Boolean | string) { }
注意:myFoo
是全局函数,不能直接编辑。
已更新
位于不同文件中的全局函数,
export declare class MyGlobalClass<T> extends Observable<T> implements Observer<any> {
myFunc(value: Boolean): void;
}
在我的TS文件中,
this.myGlobalClass.myFunc('string');
但是会引发类型错误。因为myFunc仅接受Boolean
。我需要解决这个问题。
答案 0 :(得分:1)
function myFoo(value: Boolean|string) {
if (typeof value === 'string') {
//do string patch
} else {
//whatever
}
}
答案 1 :(得分:0)
将类型更改为“任意”
function myFoo(value:any) { }
请注意,您将失去Typescript为此提供的所有类型检查,因为您基本上是在告诉Typescript您要允许“ value”参数从字面上看是任何类型。