相关疑难解决方法(0)

打字稿:引用当前类类型

是否可以在类型签名中引用当前类类型?这样我就可以做这样的事情:

 export class Component{
  constructor(config?: { [field in keyof self]: any }) {
      Object.assign(this, config)
  }
}
Run Code Online (Sandbox Code Playgroud)

这个想法是传递一个包含当前类键的配置对象。

我可以使用接口,但随后我需要输入相同部分的代码(在接口和实现类中)

另一种方法是使用泛型。像这样的东西:

export class Component<T>{
  init(config?: { [field in keyof T]?: any }) {
    Object.assign(this, config)
  }
}

class TestComponent extends Component<TestComponent>{
  foo: number
}
const component = new TestComponent().init({ foo: 11 })
Run Code Online (Sandbox Code Playgroud)

但是拥有类似的代码class TestComponent extends Component<TestComponent>让我寻找更好的方法......

typescript

7
推荐指数
1
解决办法
1090
查看次数

标签 统计

typescript ×1