构造函数 super
注意:此规则是
recommended 规则集的一部分。在
deno.json 中启用完整集合{
"lint": {
"rules": {
"tags": ["recommended"]
}
}
}使用 Deno CLI 启用完整集合
deno lint --rules-tags=recommended
通过将其添加到
deno.json 中的 include 或 exclude 数组,可以将此规则明确地包含到或排除出当前标签中存在的规则。{
"lint": {
"rules": {
"include": ["constructor-super"],
"exclude": ["constructor-super"]
}
}
}验证构造函数和 super() 调用的正确用法。
派生类(例如 class A extends B)中定义的构造函数必须始终调用 super()。扩展非构造函数(例如 class A extends null)的类不得有构造函数。
无效示例
class A {}
class Z {
constructor() {}
}
class B extends Z {
constructor() {} // missing super() call
}
class C {
constructor() {
super(); // Syntax error
}
}
class D extends null {
constructor() {} // illegal constructor
}
class E extends null {
constructor() { // illegal constructor
super();
}
}
有效示例
class A {}
class B extends A {}
class C extends A {
constructor() {
super();
}
}
class D extends null {}