no-this-before-super
注意: 此规则是
recommended
规则集的一部分。在
deno.json
中启用完整规则集:{ "lint": { "rules": { "tags": ["recommended"] } } }
使用 Deno CLI 启用完整规则集:
deno lint --rules-tags=recommended
禁止在构造函数中调用 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;
}
}