== Why is this an issue?

If a class method doesn't access properties of that class (i.e. it doesn't use ``++this++``), it should be made ``++static++``.

=== Noncompliant code example

[source,javascript]
----
class Foo {
  constructor() {
    this.i = 1;
  }

  bar() {
    window.focus();
  }
}
----

=== Compliant solution

[source,javascript]
----
class Foo {
  constructor() {
    this.i = 1;
  }

  static bar() {
    window.focus();
  }
}
----

=== Exceptions

The constructor is exempt of this rule.

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
