52 lines
844 B
Plaintext
52 lines
844 B
Plaintext
Assigning ``++this++`` to a local variable is a way to reference parent context inside inner functions. In TypeScript when using arrow functions this happens automatically.
|
|
|
|
This rule raises an issue when ``++this++`` is assigned to a local variable.
|
|
|
|
|
|
== Noncompliant Code Example
|
|
|
|
----
|
|
function Foo() {
|
|
let that = this; // Noncompliant
|
|
that.val = 0;
|
|
|
|
setInterval(function() {
|
|
that.val++;
|
|
}, 1000);
|
|
}
|
|
----
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
----
|
|
function Foo() {
|
|
this.val = 0;
|
|
|
|
setInterval(() => {
|
|
this.val++;
|
|
}, 1000);
|
|
}
|
|
----
|
|
|
|
|
|
== Exceptions
|
|
|
|
This rule ignores ``++this++`` used for destructuring.
|
|
|
|
----
|
|
const { foo, bar } = this;
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::message.adoc[]
|
|
|
|
include::highlighting.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|