42 lines
902 B
Plaintext
42 lines
902 B
Plaintext
== 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[]
|