Skip to content

noUselessThisAlias

诊断类别:lint/complexity/noUselessThisAlias

¥Diagnostic Category: lint/complexity/noUselessThisAlias

自从:v1.0.0

¥Since: v1.0.0

来源:

¥Sources:

禁止无用的 this 别名。

¥Disallow useless this aliasing.

箭头函数从其封闭范围继承 this;这使得 this 别名在这种情况下变得无用。

¥Arrow functions inherits this from their enclosing scope; this makes this aliasing useless in this situation.

¥Examples

¥Invalid

class A {
method() {
const self = this;
return () => {
return self;
}
}
}
code-block.js:3:15 lint/complexity/noUselessThisAlias  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This aliasing of this is unnecessary.

1 │ class A {
2 │ method() {
> 3 │ const self = this;
^^^^^^^^^^^
4 │ return () => {
5 │ return self;

Arrow functions inherits this from their enclosing scope.

Safe fix: Use this instead of an alias.

1 1 class A {
2 2 method() {
3 - ········const·self·=·this;
4 3 return () => {
5 - ············return·self;
4+ ············return·this;
6 5 }
7 6 }

¥Valid

class A {
method() {
const self = this;
return function() {
this.g();
return self;
}
}
}

¥Related links