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