[英]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.