有没有办法配置 TypeScript / Babel,以便未初始化的类属性隐式使用 `declare` 并且不会发出?

问题描述

目前,此代码

class SomeClass {
  private prop1 = 'default';
  private prop2?: string
}

发出以下内容

class SomeClass {
  constructor() {
    this.prop1 = 'default';
    this.prop2 = void 0; // or Object.assign,depending on babel
  }
}

使用假设的 TypeScript / Babel 选项,它会发出:

class SomeClass {
  constructor() {
    this.prop1 = 'default';
  }
}

我知道我可以将 declare 添加prop2,但想象一下我有一个非常大的代码库,其中包含许多未初始化的类属性,我不想添加 declare到处。有没有办法做到这一点?

这一切都取决于使用来自 TypeScript > 3.7 的标志 useDefineForClassFields

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)