JS
[JS] for 반복문의 기초: `i` 변수와 배열 반복 이해하기
coco030030
2025. 4. 3. 14:26
for
반복문의 기초: i
변수와 배열 반복 이해하기
var i = 0
은 무엇인가요?
var i = 0
에서 i
는 여러분이 만든 변수입니다. 특별한 의미는 없고, 단지 "index(인덱스)"의 약자로 관습적으로 많이 사용할 뿐입니다. 실제로는 어떤 이름이든 사용 가능합니다:
// 모두 동일한 역할을 합니다
for (var i = 0; i < 5; i++) { }
for (var count = 0; count < 5; count++) { }
for (var banana = 0; banana < 5; banana++) { }
왜 for
반복문을 쓰나요?
반복문은 같은 작업을 여러 번 반복할 때 사용합니다. 배열의 각 항목마다 같은 작업을 할 때 특히 유용합니다.
반복문 없이 배열 처리하기
var days = [30, 20, 50, 10, 30]; // 5일간의 운동 시간
var totalTime = 0;
// 반복문 없이는 이렇게 해야 함
totalTime = totalTime + days[0]; // 첫째 날
totalTime = totalTime + days[1]; // 둘째 날
totalTime = totalTime + days[2]; // 셋째 날
totalTime = totalTime + days[3]; // 넷째 날
totalTime = totalTime + days[4]; // 다섯째 날
반복문으로 같은 작업 하기
var days = [30, 20, 50, 10, 30]; // 5일간의 운동 시간
var totalTime = 0;
// 위와 동일한 작업을 반복문으로 처리
for (var i = 0; i < 5; i++) {
totalTime = totalTime + days[i];
}
for
반복문 작동 방식 단계별 설명
for (var i = 0; i < days.length; i++) {
totalTime += days[i];
}
이 코드가 어떻게 작동하는지 단계별로 설명해드리겠습니다:
1. 반복문 시작 전:
var i = 0
: 변수i
를 0으로 초기화합니다totalTime = 0
: 합계를 저장할 변수도 0으로 초기화되어 있습니다
2. 첫 번째 반복:
i
는 0입니다i < days.length
를 검사합니다 (0 < 5? 네, 참입니다)totalTime += days[i]
를 실행합니다:days[0]
은 30이므로,totalTime = 0 + 30 = 30
이 됩니다
i++
를 실행하여i
를 1로 증가시킵니다
3. 두 번째 반복:
i
는 1입니다i < days.length
를 검사합니다 (1 < 5? 네, 참입니다)totalTime += days[i]
를 실행합니다:days[1]
은 20이므로,totalTime = 30 + 20 = 50
이 됩니다
i++
를 실행하여i
를 2로 증가시킵니다
4. 세 번째 반복:
i
는 2입니다i < days.length
를 검사합니다 (2 < 5? 네, 참입니다)totalTime += days[i]
를 실행합니다:days[2]
는 50이므로,totalTime = 50 + 50 = 100
이 됩니다
i++
를 실행하여i
를 3으로 증가시킵니다
5. 네 번째 반복:
i
는 3입니다i < days.length
를 검사합니다 (3 < 5? 네, 참입니다)totalTime += days[i]
를 실행합니다:days[3]
은 10이므로,totalTime = 100 + 10 = 110
이 됩니다
i++
를 실행하여i
를 4로 증가시킵니다
6. 다섯 번째 반복:
i
는 4입니다i < days.length
를 검사합니다 (4 < 5? 네, 참입니다)totalTime += days[i]
를 실행합니다:days[4]
는 30이므로,totalTime = 110 + 30 = 140
이 됩니다
i++
를 실행하여i
를 5로 증가시킵니다
7. 여섯 번째 시도:
i
는 5입니다i < days.length
를 검사합니다 (5 < 5? 아니요, 거짓입니다)- 반복문이 종료됩니다
totalTime
의 최종 값은 140입니다
이해를 위한 시각화
이 과정을 테이블로 시각화하면:
반복 | i 값 | days[i] | totalTime에 더해지는 값 | 계산 | totalTime 결과 |
---|---|---|---|---|---|
시작 전 | 0 | - | - | - | 0 |
1번째 | 0 | days[0] = 30 | 30 | 0 + 30 | 30 |
2번째 | 1 | days[1] = 20 | 20 | 30 + 20 | 50 |
3번째 | 2 | days[2] = 50 | 50 | 50 + 50 | 100 |
4번째 | 3 | days[3] = 10 | 10 | 100 + 10 | 110 |
5번째 | 4 | days[4] = 30 | 30 | 110 + 30 | 140 |
종료 | 5 | - | - | - | 140 (최종값) |
요약: 반복문을 생각하는 방법
i
는 그냥 위치를 가리키는 임의의 변수이름입니다i = 0
은 첫 번째 위치부터 시작한다는 의미입니다 (배열은 0부터 시작)i < days.length
는 배열 길이(요소 개수)보다 작은 동안 계속한다는 의미입니다i++
는 각 반복 후 다음 위치(+1)로 이동한다는 의미입니다days[i]
는 현재 위치의 값을 가져온다는 의미입니다