构造函数 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 {}