== Why is this an issue?

Any statement or block of statements can be identified by a label, but those labels should be used only on ``++while++``, ``++do-while++``, ``++for++`` and ``++switch++`` statements. Using labels in any other context leads to unstructured, confusing code. 

=== Noncompliant code example

[source,javascript]
----
myLabel: if (i % 2 == 0) {  // Noncompliant
  if (i == 12) {
    console.log("12");
    break myLabel;
  }
  console.log("Even number, but not 12");
}
----

=== Compliant solution

[source,javascript]
----
myLabel: for (i = 0; i < 10; i++) {   // Compliant
  console.log("Loop");
  break myLabel;
}
----

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[]
