猿问

如何更改函数以接受不同类型作为参数

在下面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. 我需要解决这个问题。


慕娘9325324
浏览 196回答 2
2回答

SMILET

function myFoo(value: Boolean|string) {&nbsp; &nbsp; if (typeof value === 'string') {&nbsp; &nbsp; &nbsp; &nbsp; //do string patch&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; //whatever&nbsp; &nbsp; }}

动漫人物

将类型更改为“任何”function&nbsp;myFoo(value:any)&nbsp;{&nbsp;}请注意,您将失去 Typescript 为此提供的所有类型检查,因为您基本上是在告诉 Typescript 您希望允许您的“值”参数实际上是任何类型。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答