constructor-super
NOTE: this rule is part of the
推荐
rule set.Enable full set in
deno.json
:{ "lint": { "rules": { "tags": ["推荐"] } } }
Enable full set using the Deno CLI:
deno lint --rules-tags=推荐
This rule can be explictly included to or excluded from the rules present in the current tag by adding it to the
include
or exclude
array in deno.json
:{ "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() {} // 缺少 super() 调用
}
class C {
constructor() {
super(); // 语法错误
}
}
class D extends null {
constructor() {} // 非法构造函数
}
class E extends null {
constructor() { // 非法构造函数
super();
}
}
有效示例:
class A {}
class B extends A {}
class C extends A {
constructor() {
super();
}
}
class D extends null {}