首页 > 解决方案 > 键入类属性的 keyof

问题描述

如果我有一个类定义为:

export class StepFunction {
  public stepNames: string[];
  private _startAt: string;

  public addStep(step: string) {
    this.stepNames.push(step);
  }
  public startAt(step: keyof typeof this._stepNames) { ... }

}

遗憾的是,这不起作用,因为您不能引用 Class 实例的类型(它会出现)。是否有任何机制可以通过 ES6 类实现这一目标?外教呢?


基于 Aleksey 的帮助,我现在看到引用公共实例方法是允许的,keyof但不是typeof keyof我真正需要让它工作。

尝试这样做会给我以下错误:

在此处输入图像描述

标签: typescript

解决方案


推荐阅读