자바스크립트 for 루프의 기본 구조
자바스크립트의 for 루프는 크게 세 가지 요소로 구성됩니다.
- 초기화문(Initialization): 루프가 시작되기 전에 단 한 번 실행되며, 주로 카운터 변수를 선언하고 초기값을 설정합니다.
- 조건 검사문(Test Statement): 매 반복마다 조건식을 평가하여 참(true)이면 루프 본문을 실행하고, 거짓(false)이면 루프를 종료합니다.
- 증감문(Iteration Statement): 각 반복이 끝난 후 실행되며, 카운터 변수를 증가 또는 감소시킵니다.
이러한 구조를 순서도(플로우차트)로 표현하면, 초기화 → 조건 검사(마름모 기호) → 루프 본문 실행 → 증감문 → 다시 조건 검사로 이어지는 반복 흐름이 됩니다.
중첩 for 루프란?
중첩 for 루프(nested for loop)는 하나의 for 루프 내부에 또 다른 for 루프가 포함된 형태를 말합니다. 바깥쪽 루프가 한 번 실행될 때마다 안쪽 루프는 처음부터 끝까지 완전히 한 번씩 실행되므로, 주로 2차원 배열 처리나 구구단처럼 행과 열을 다루는 작업에 활용됩니다.
순서도에서 중첩 for 루프 표현하기
순서도에서 중첩 for 루프를 나타낼 때는 다음과 같은 규칙을 따릅니다.
- 바깥쪽 루프의 초기화를 먼저 수행합니다.
- 바깥쪽 조건 검사(마름모)에서 참이면 안쪽 루프 영역으로 진입합니다.
- 안쪽 루프 역시 초기화 → 조건 검사 → 본문 실행 → 증감문의 흐름을 독립적으로 가집니다.
- 안쪽 루프가 종료되면 바깥쪽 루프의 증감문을 실행한 뒤 다시 조건을 검사합니다.
아래 이미지는 자바스크립트에서 중첩 for 루프가 순서도상 어떻게 표현되는지 보여줍니다.

중첩 for 루프 예제 코드
실제 코드로 확인해 보겠습니다. 아래 예제는 바깥쪽 루프와 안쪽 루프를 사용해 구구단의 일부를 출력합니다.
for (let i = 1; i <= 3; i++) { // 바깥쪽 루프: 초기화(i=1), 조건(i<=3), 증감(i++)
for (let j = 1; j <= 3; j++) { // 안쪽 루프
console.log(i + " x " + j + " = " + (i * j));
}
}위 코드에서 총 반복 횟수는 바깥쪽 루프 3회 × 안쪽 루프 3회 = 9번입니다. 순서도로 그리면 안쪽 루프의 흐름이 완전히 끝난 후에야 바깥쪽 루프의 증감문과 조건 검사로 되돌아간다는 점을 명확히 확인할 수 있습니다.
정리
순서도에서 중첩 for 루프를 표현할 때 핵심은 각 루프가 자신만의 초기화·조건 검사·증감문 흐름을 가진다는 점입니다. 마름모(조건 판단) 기호와 화살표의 방향을 정확히 연결하면, 코드 실행 순서를 시각적으로 쉽게 파악할 수 있습니다.