typescript 中如何获取到内部类的类型

class BST {
    // root 为 new BST.Node() 类型应该为 BST.Node 的实例
    root: ???;
    constructor (key:number, value:any) {
      this.root = new BST.Node(key, value)
    }

    static Node = class {
        key:number
        value:any
        constructor (key:number, value:any) {
          this.key = key
          this.value = value
        }
    }
}

export {
  BST
}
阅读 4.1k
2 个回答
class BST {
    root: InstanceType<typeof BST.Node>;

    constructor(key: number, value: any) {
        this.root = new BST.Node(key, value);
    }

    static Node = class {
        key: number;
        value: any;

        constructor(key: number, value: any) {
            this.key = key;
            this.value = value;
        }
    };
}

TS 2.8 以后支持。

内部类型不是用来看的;是自己定义的,用来数据校验的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题