while문에서 루프를 제한하기 위한 수를 이용할 때
전위연산자와 후위연산자가 다르게 동작한다.
1. 루프 제어문으로 전위 연산자를 while에 사용했을 때.
let i = 0;
while (++i < 5) {
console.log(i);
}
console.log('-------')
++i | i < 5 | i | console.log(i) |
1 | 1 < 5 | 1 | 1 |
2 | 2 < 5 | 2 | 2 |
3 | 3 < 5 | 3 | 3 |
4 | 4 < 5 | 4 | 4 |
5 | 5 < 5 (false) |
전위연산자는 미리 연산 후 자료 처리에 쓰이게 된다.
따라서 먼저 1이 가산이 된 후 그 다음 비교값에서 처리가 된다.
따라서 1~4까지 출력이 되며, 5는 출력되지 않는다.
2. 루프 제어문으로 후위 연산자를 while에 사용했을 때
let j = 0;
while (j++ < 5) {
console.log(j);
}
console.log('-------')
후위연산자는 현재 값으로 미리 자료 처리를 진행한 후에 연산이 된다.
따라서 아래 표와 같이 연산된다.
i++ | i < 5 | i | console.log(i) |
0 | 0 < 5 | 1 | 1 |
1 | 1 < 5 | 2 | 2 |
2 | 2 < 5 | 3 | 3 |
3 | 3 < 5 | 4 | 4 |
4 | 4 < 5 | 5 | 5 |
5 | 5 < 5 (false) |
아래는 for문을 while문으로 바꾼 것이다.
둘은 동일한 값이 출력된다.
for (let i = 0; i < 3; i++) {
console.log( `number ${i}!` );
}
i = 0;
while (i < 3) {
console.log(`number ${i}!` );
i++;
}
'Javascript' 카테고리의 다른 글
(JS) 함수 선언 (지역변수, 외부변수, 전역변수, 매개변수, 반환값) (0) | 2022.06.02 |
---|---|
(JS) for 반복문을 이용하여 2부터 10까지 숫자 중 짝수만 출력하기 (0) | 2022.06.02 |
(JS) 객체 기본, 순수 객체 (0) | 2022.05.23 |
(JS) Array와 push, pop, shift, unshift (배열 자료구조) (0) | 2022.05.20 |
클래스 기본 (0) | 2022.05.13 |