【发布时间】:2020-08-27 13:50:05
【问题描述】:
我正在 Typescript 中运行一些测试,看看我想做的事情是否可行。我需要将函数内部的“this”类型设置为类;它有效,但是,我不断收到错误消息:“void”类型的“this”上下文不可分配给“Rule”类型的方法“this”。下面是代码。
TLDR 如何在独立函数中指定 this 的类型?
PS 也许有更好的方法可以做到这一点,所以我将解释我想要做什么:我想要做的是创建一个规则类,我在其中添加一个函数如果返回 true 或 false,则返回注释和状态。我不希望函数有一堆参数。我希望该类能够与其他类交互并访问其他数据,但为了测试目的而独立。
export class Rule {
constructor(rule) {
this.Fx = rule
}
Fx;
passNote;
failNote;
guest;
apiData;
runRule(dev) {
this.Fx(dev)
}
}
function apple(this: Rule, dev) {}
const test = new Rule((dev) => dev.pass)
const dev = // large object I am testing with the rule
test.runRule(dev)
// The 'this' context of type 'void' is not assignable to method's 'this' of type 'Rule'
在编写我在构造函数中使用的函数时,我想要的只是“this”的智能。
【问题讨论】:
-
"。我不希望函数有一堆参数"真的吗?传递一个对象怎么样?
标签: javascript typescript