gpt4 book ai didi

javascript - 如何为 TypeScript 描述外部分配的 JavaScript 类属性?

转载 作者:行者123 更新时间:2023-11-30 14:21:06 24 4
gpt4 key购买 nike

我有一些(JavaScript,不是 TypeScript)这样的代码:

export default class X {
m() {
this.onM();
}
}

我正在使用 tsconfig.jsonallowJscheckJsnoEmit 来验证我的 JS 代码。

我收到 TypeScript 错误 Property onM doesn't exist on type X
此属性是在外部设置的,因此类本身没有任何内容分配给它。

如何描述此属性(使用 JSDoc?)以便解决此错误?
我不想仅仅为了类型检查器而更改我的代码,所以我不想将它 stub 在构造函数中。

最佳答案

您可以只为任何此类属性添加字段声明。如果你没有设置该字段,Typescript 将不会为该字段发出任何代码,但它会识别该字段存在。如果有人从外部源设置它,它将正常工作。

export default class X {
onM: () => void;
m() {
this.onM(); // Possibly add a null check, maybe nobody actually assigned the field
}
}

关于javascript - 如何为 TypeScript 描述外部分配的 JavaScript 类属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52735638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com