TS 如何声明属性为类?

aplayer
  • 435

例如:

interface X {
  a: string
}

interface Y {
  X: X
}


class X implements X {
  public a: string = ''
}

const Y: Y = {
  X // <----- 报错了
}

发现在定义 Y 时候,X 属性报错了,不能将类型“typeof X”分配给类型“X”。类型“typeof X”中缺少属性“a”。

回复
阅读 3.7k
1 个回答
冯恒智
  • 7.8k
interface X {
  a: string
}


class X1 implements X {
  public a: string = ''
}

interface Y {
  X: typeof X1
}

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