【发布时间】:2019-10-31 23:05:05
【问题描述】:
我想编写一个函数,它返回一个类型上存在的单个属性:
type CustomType = {
property1: boolean;
property2: numeric;
};
private getData(obj): CustomType {
// do stuff
return dataObj;
}
private getBooleanValue(obj, key): boolean {
const value = this.getData(obj)[key];
// do stuff
return value;
}
我想对 getBooleanValue 的键进行限制,该键是 CustomType 的一部分 - 例如:
getBooleanValue(obj, "property1") // OK
getBooleanValue(obj, "property2") // ERROR, TypeScript won't allow this
【问题讨论】:
-
为什么不使用
key: keyof TypeBhere? -
这段代码似乎不是minimal reproducible example,因为它引用了不存在的类型和值。考虑编辑代码,以便有人可以将其放入 IDE 中,唯一的问题是您要询问的问题。祝你好运!
-
@ford04 - 是的!你是对的:) 谢谢你的帮助,我将编辑我在下面制作的解决方案。
-
@jcalz - 修正了解释
标签: javascript typescript types