JavaScript의 for 루프: 배열, 중첩, 무한 루프 방지까지 완벽 가이드
JavaScript의 for
루프란?
for
루프는 JavaScript에서 반복 작업을 수행하기 위한 가장 기본적인 구조입니다. 특정 조건이 만족될 때까지 코드를 실행하며, 크게 초기화, 조건, 증감의 세 가지 구성 요소로 이루어집니다.
기본 문법
for (초기화; 조건; 증감) {
// 실행할 코드
}
배열과 함께 사용하는 for
루프
배열을 순회하며 각 요소에 접근할 때 유용합니다.
예제: 배열 요소 출력
const fruits = ["apple", "banana", "cherry"];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
// 출력:
// apple
// banana
// cherry
배열 순회에서는 for...of
나 forEach
와 같은 더 간결한 방법도 있습니다.
const fruits = ["apple", "banana", "cherry"];
// for...of 루프
for (const fruit of fruits) {
console.log(fruit);
}
// forEach 메서드
fruits.forEach((fruit) => console.log(fruit));
중첩된 루프(Nested Loops)
중첩된 루프는 2차원 배열이나 다차원 데이터 구조를 처리할 때 유용합니다.
예제: 2차원 배열 출력
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
console.log(matrix[i][j]);
}
}
// 출력:
// 1, 2, 3, 4, 5, 6, 7, 8, 9
무한 루프의 위험성과 방지법
for
루프에서 종료 조건을 잘못 설정하면 무한 루프에 빠질 수 있습니다. 무한 루프는 프로그램이 멈추지 않고 계속 실행되어 시스템 리소스를 과도하게 사용합니다.
무한 루프 예제
for (let i = 0; i >= 0; i++) {
console.log(i);
}
방지 방법
- 종료 조건 검토: 항상
조건
이 적절한지 확인합니다. - 테스트: 루프가 의도대로 동작하는지 디버깅 도구를 활용해 테스트합니다.
루프 흐름 제어: break
와 continue
break
: 루프 완전 종료
for (let i = 1; i <= 10; i++) {
if (i === 5) break;
console.log(i);
}
// 출력: 1, 2, 3, 4
continue
: 특정 반복 건너뛰기
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) continue; // 짝수 건너뛰기
console.log(i);
}
// 출력: 1, 3, 5, 7, 9
주요 포인트 요약
- 기본 구조:
for
루프는 초기화, 조건, 증감으로 이루어짐. - 배열 순회:
for
외에도for...of
와forEach
가 유용. - 중첩 루프: 2차원 배열 같은 복잡한 데이터 처리에 적합.
- 무한 루프 방지: 종료 조건을 명확히 설정해야 함.
- 제어문:
break
와continue
로 루프 흐름 제어 가능.
JavaScript의 for
루프를 이해하고 적절히 활용하면 다양한 반복 작업을 효율적으로 처리할 수 있습니다. 추가 질문이 있다면 댓글로 남겨주세요!
Leave a comment