簡體   English   中英

使用類型參數的TypeScript

[英]TypeScript using type parameter

我如何在下一個代碼塊(typeOf,instanceOf,...)中使用類型參數T。 T是“組”。 是否可能因為JavaScript沒有類型而導致。 感謝名單。

export class LocalStorage<T> implements ILocalStorage<T> {
    constructor() {}

    getKey(): string {
        if (T is 'Group')
            return "Groups";
    }
}

您無法對泛型中的TypeArguments做到這一點(您已經意識到)。 但是,如果使用TypeScript類,則可以執行運行時檢查:

class Group{}


function getKey(item:any): string { 
    if (item instanceof Group)
        return "Groups";
    else
        return 'invalid';
}


console.log(getKey(new Group()));

上面的代碼中沒有打字稿魔術。 我們只是在使用javascript instanceof運算符: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof

Thanx basarat。 你指出我正確的方向。 我的代碼現在看起來更好了。

export class LocalStorage<T> implements ILocalStorage<T> {
    private instance: any;
    constructor(instance: any) {
        this.instance = new instance(null);
    }

    getKey(): string {
        if (this.instance instanceof g.Group)
            return "Groups";
        else 
            return "Invalid";
    }
}

//using
var groupLocalStorage = new ls.LocalStorage<g.Group>(g.Group);

暫無
暫無

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

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