我想编写一个函数,该函数返回一个类型上存在的单个属性:
private getData(obj: TypeA): TypeB {
// do stuff
return dataObj;
}
private getValue(obj: TypeA, key): boolean {
const value = this.getData(obj)[key];
if (value === undefined) {
return false;
}
return value;
}
我想对getValue的键进行限制,该键是TypeB的一部分。
似乎是这样的作品,但它似乎不是最好的解决方案:
private getValue<Z extends keyof TypeB>(
obj: TypeA,
key: Z
): boolean {
const value = this.getData(obj)[key];
if (value === undefined) {
return false;
}
return value as boolean;
}