I am having trouble understanding the usage of brackets in \"for\" loops and \"if\" statements in Javascript. I have seen syntax in Javascript where there is brackets and where
Without brackets only the next statement is affected whereas with brackets everything inside the brackets is affected.
To add brackets to the loop and have it work exactly the same, just add them around the next statement:
function range(upto) {
var result = [];
for (var i = 0; i <= upto; i++) {
result[i] = i;
}
return result;
}
Bracket allow you to add more statement into one block. if I modify bit to show result
function range(upto) {
var result = [];
for (var i = 0; i <= upto; i++) {
result[i] = i;
result[i] = result[i]*2
}
return result;
}
console.log(range(15));
Result will be
[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30]
however, without bracket,
function range(upto) {
var result = [];
for (var i = 0; i <= upto; i++)
result[i] = i;
result[i] = result[i]*2
return result;
}
console.log(range(15));
result will be like this
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,30]
*being rookie programmer, I think it probably will fail due to undeclared variable
You can omit the brackets when the for
loop applies to a unique statement.
You must use it if you want it to apply to more statements. To be more precise, the for
loop always apply to a statement but the brackets build a block which is a statement.
Adding the brackets, when there is only one statement, can't break the code and often makes it more readable. In fact most coders won't go to the next line in an opening for
loop without brackets. I personally would replace
for (var i = 0; i <= upto; i++)
result[i] = i;
with
for (var i = 0; i <= upto; i++) result[i] = i;
or
for (var i = 0; i <= upto; i++) {
result[i] = i;
}