簡體   English   中英

如何更改 function 以接受不同類型作為參數

[英]How change a function to accept different types as argument

在下面的例子中, myFoo將接受一個類型為Boolean的參數。

function myFoo(value:Boolean) { }

我的問題是,是否可以使用原型更改myFoo function 以接受多種types

例如, function myFoo(value:Boolean | string) { }

注意: myFoo是全局 function,不能直接編輯。

更新

全局 function 在不同的文件中,

export declare class MyGlobalClass<T> extends Observable<T> implements Observer<any> {
    myFunc(value: Boolean): void;
} 

在我的 TS 文件中,

this.myGlobalClass.myFunc('string');

但它會引發類型錯誤。 因為 myFunc 只接受Boolean 我需要解決這個問題。

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

將類型更改為“任何”

function myFoo(value:any) { }

請注意,您將丟失 Typescript 為此提供的所有類型檢查,因為您基本上是在告訴 Typescript 您希望允許您的“值”參數字面上是任何類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM