禁止 super 之前使用 this
注意:此规则是
recommended 规则集的一部分。在
deno.json 中启用完整集合{
"lint": {
"rules": {
"tags": ["recommended"]
}
}
}使用 Deno CLI 启用完整集合
deno lint --rules-tags=recommended
通过将其添加到
deno.json 中的 include 或 exclude 数组,此规则可以明确地包含或排除在当前标签的规则集中。{
"lint": {
"rules": {
"include": ["no-this-before-super"],
"exclude": ["no-this-before-super"]
}
}
}禁止在构造函数中调用 super() 之前使用 this 或 super。
在派生类的构造函数中,在调用 super() 之前访问 this 或 super 会导致 ReferenceError。为了防止这种情况,此 lint 规则会检查在构造函数中调用 super() 之前是否存在对 this 或 super 的访问。
无效示例
class A extends B {
constructor() {
this.foo = 0;
super();
}
}
class C extends D {
constructor() {
super.foo();
super();
}
}
有效示例
class A extends B {
constructor() {
super();
this.foo = 0;
}
}
class C extends D {
constructor() {
super();
super.foo();
}
}
class E {
constructor() {
this.foo = 0;
}
}