【发布时间】:2019-11-25 17:00:58
【问题描述】:
我需要使用类属性名称的一些子集作为映射中的值,以便在类内部使用。在以下示例中,我已将 map 替换为数组。问题是,如果属性标记为private,它不会列在keyof 列表中。 如果需要包含私有名称,如何指定密钥类型?
var keys: Array<keyof A> = ["x", "y"]; // Error
class A {
private x = 7;
public y = 8;
private keys: Array<keyof A> = ["x", "y"]; // Error
}
类外的变量和类内的私有属性都存在同样的错误:
类型“x”不能分配给类型“y”。
【问题讨论】:
标签: typescript private keyof