Single line for loop

예제

Single line

1
2
3
4
5
var i,
sum = 0;
for (i = 0; i < 10; ++i, sum += i);

console.log(`${i} ${sum}`);

일반적인 형태

1
2
3
4
5
6
7
var j,
sum2 = 0;
for (j = 0; j < 10; ++j) {
sum2 += j;
}

console.log(`${j} ${sum2}`);

두 예제의 결과는 어떻게 나올까.
첫번째는 10 55, 두번째는 10 45가 나온다.

설명

i 와 j 의 전위 후위 연산은 별로 중요하지 않다. (i 나 i이나 결과는 같게 나온다)

Single line

1
2
3
4
5
6
var i,
sum = 0;
// 1 2 3 4
for (i = 0; i < 10; ++i, sum += i);

console.log(`${i} ${sum}`);

일반적인 형태

1
2
3
4
5
6
7
8
9
var j,
sum2 = 0;
// 1 2 4
for (j = 0; j < 10; ++j) {
// 3
sum2 += j;
}

console.log(`${j} ${sum2}`);

안티패턴의 끝

1
2
3
4
5
6
var k,
sum3 = 0;
// 1 2 4 5
for (k = 0; k < 10; ++k, sum3 += k)
// 3
console.log(`${k} ${sum3}`);

연산의 실행 순서가 다르다고 이해하면 되겠다.