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 {}