我有一个简单的类,它允许设置和获取类对象的通用值(想象这个类是由 NPM 包提供的)。
class Spec {
protected data = {};
set<T>(k: string, v: T) {
this.data[k] = v;
}
get(k: string) {
return this.data[k];
}
}
假设我创建了这个类的一个实例并设置了一个id类型的字段number:
const spec = new Spec();
spec.set('id', 100);
当我检索此值时,TypeScript 将值返回为 typeany而不是number:
const id = spec.get('id');
// id should be of typescript type number (any instead)
我可以手动指定类型,但我想自动处理这个:
const id = spec.get<number>('id');
// or
const id = spec.get('id') as number;
这种情况有破解方法吗?