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...offorEach와 같은 더 간결한 방법도 있습니다.

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);
}

방지 방법

  1. 종료 조건 검토: 항상 조건이 적절한지 확인합니다.
  2. 테스트: 루프가 의도대로 동작하는지 디버깅 도구를 활용해 테스트합니다.

루프 흐름 제어: breakcontinue

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

주요 포인트 요약

  1. 기본 구조: for 루프는 초기화, 조건, 증감으로 이루어짐.
  2. 배열 순회: for 외에도 for...offorEach가 유용.
  3. 중첩 루프: 2차원 배열 같은 복잡한 데이터 처리에 적합.
  4. 무한 루프 방지: 종료 조건을 명확히 설정해야 함.
  5. 제어문: breakcontinue로 루프 흐름 제어 가능.

JavaScript의 for 루프를 이해하고 적절히 활용하면 다양한 반복 작업을 효율적으로 처리할 수 있습니다. 추가 질문이 있다면 댓글로 남겨주세요!

Categories:

Updated:

Leave a comment