40 lines
971 B
Plaintext

JavaScript variable scope can be particularly difficult to understand and get right. The situation gets even worse when you consider the _accidental_ creation of global variables, which is what happens when you declare a variable inside a function or the ``++for++`` clause of a for-loop without using the ``++let++``, ``++const++`` or ``++var++`` keywords.
``++let++`` and ``++const++`` were introduced in ECMAScript 2015, and are now the preferred keywords for variable declaration.
== Noncompliant Code Example
----
function f(){
i = 1; // Noncompliant; i is global
for (j = 0; j < array.length; j++) { // Noncompliant; j is global now too
// ...
}
}
----
== Compliant Solution
----
function f(){
var i = 1;
for (let j = 0; j < array.length; j++) {
// ...
}
}
----
ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)
include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]