zhaoJian의 기술 노트

IT 강좌 JavaScript 기초 042_반복문 while、for

학습 / JavaScript 기초 약 4111자 · 11분 소요 - 조회

반복문은 코드 블록을 반복적으로 실행하는 데 사용되는 방법입니다. JavaScript는 while, do-while, for 등 다양한 유형의 반복문을 제공합니다. 완전한 반복문은 초기화 표현식, 반복 조건, 반복자를 포함합니다.

while 반복문

while 반복문은 조건이 true인 경우 코드 블록을 반복적으로 실행하는 데 사용됩니다. 반복문 본문의 단일 실행을 한 번의 반복이라고 합니다. 모든 표현식이나 변수는 반복 조건이 될 수 있으며, 반복 조건은 계산되고 그 결과는 부울 값으로 변환됩니다. if와 마찬가지로 반복문 본문에 문장이 하나만 있는 경우 중괄호 {…}를 생략할 수 있지만 권장하지 않습니다. 각 반복 전에 조건을 확인합니다.

예제:

let i = 0; // 초기화 표현식, 일반적으로 카운터 변수를 선언하는 데 사용되며, 없으면 undefined 오류가 발생합니다
while (i < 5) { // 반복 조건, `true`이면 반복문이 계속 실행됩니다
console.log(i);
i++; // 반복자, 일반적으로 카운터 변수를 업데이트하여 반복 조건과 일치시키는 데 사용됩니다
}

무한 반복 예제:

let i = 0;
while (1) { // 조건이 항상 true이면 무한 반복에 들어갑니다
console.log(i);
i++; // 일반적으로 이 형식의 카운터를 사용하여 반복 조건을 업데이트합니다
if (i >= 5) break; // 주석 처리하면 무한 반복 모드로 진입합니다
}

do-while 반복문

do-while 반복문은 while 반복문과 유사하지만, 먼저 반복문 본문을 한 번 실행한 다음 조건이 true인지 확인합니다. 조건이 참이면 반복문 본문을 계속 실행합니다. 사용 시나리오에 주의해야 합니다. 조건의 참/거짓 여부와 관계없이 반복문 본문을 최소 한 번 실행해야 하는 경우에만 do-while을 사용하고, 다른 시나리오에서는 while 반복문을 권장합니다. 각 반복 후에 조건을 확인합니다.

예제:

let i = 0;
do {
console.log(i);
i++;
} while (i < 5);

for 반복문

for 반복문은 더 복잡하지만 가장 일반적으로 사용되는 반복 구조로, 코드 블록을 반복적으로 실행하는 데 사용됩니다. for 반복문은 초기화 표현식, 반복 조건, 반복자의 세 부분을 포함합니다. 다음은 for 반복문의 기본 구문입니다: 각 반복 전에 조건을 확인하며, 다른 설정을 사용할 수 있습니다.

예제:

for (let i = 0; i < 5; i++) {
console.log(i);
}

무한 반복 예제:

let i = 0;
for ( ; ; ) { // 모든 조건을 생략하면 무한 반복에 들어갑니다
console.log(i);
i++; // 일반적으로 이 형식의 카운터를 사용하여 반복 조건을 업데이트합니다
if (i >= 5) break; // 주석 처리하면 무한 반복 모드로 진입합니다
}
문장 구간 생략

for 반복문은 초기화 표현식, 반복 조건 또는 반복자 중 하나 이상을 생략할 수 있지만, 세미콜론 ;은 반드시 유지해야 합니다. 세미콜론은 각 부분을 구분하는 데 사용되며, 한 부분을 생략하더라도 해당 세미콜론은 유지해야 합니다.

예제:

let x = 0;
for (; x < 5; x++) {
console.log(x);
}
// 초기화 표현식을 생략하고 반복문 외부로 이동하면 반복문은 여전히 유효합니다
let y = 0;
for (;; y++) {
if (y >= 5) {
break;
}
console.log(y);
}
// 반복 조건을 생략하고 `if` 문과 `break`를 통해 반복문을 종료합니다
let z = 0;
for (; z < 5;) {
console.log(z);
z++;
}
// 반복자를 생략하고 반복문 본문 내부로 이동하면 반복문은 여전히 유효합니다

중첩 반복문

중첩 반복문은 한 반복문 본문 내부에 다른 완전한 반복 구조를 포함하는 것을 의미합니다. 중첩 반복문은 외부 반복문이 실행될 때마다 내부 반복문을 한 번 실행합니다.

정삼각형 예제:

// 예제 A
for (let i = 1; i <= 5; i++) { // 외부 반복문, 행 수를 제어하며 1부터 5까지입니다.
let row = ''; // 외부 반복문이 실행될 때마다 빈 문자열 `row`를 생성하여 현재 행의 별을 저장합니다.
for (let j = 1; j <= i; j++) { // 내부 반복문, 각 행의 별 개수를 제어하며 1부터 현재 행 수 `i`까지입니다.
row += ''; // 별을 `row`에 추가하여 현재 행의 별 문자열을 형성합니다.
}
console.log(row); // 현재 행의 별 문자열을 출력합니다.
}
// 예제 B
for (let i = 1; i <= 5; i++) { // 외부 반복문은 행 수를 나타냅니다
for (let j = 1; j <= i; j++) { // 내부 반복문은 열을 나타냅니다
document.write(''); // 별을 그래픽 요소로 사용합니다
}
document.write('</br>'); // 줄바꿈
}

역삼각형 예제:

// 예제 A
for (let i = 5; i >= 1; i--) { // 외부 반복문, 행 수를 제어하며 1부터 5까지입니다.
let row = ''; // 외부 반복문이 실행될 때마다 빈 문자열 `row`를 생성하여 현재 행의 별을 저장합니다.
for (let j = 1; j <= i; j++) { // 내부 반복문, 각 행의 별 개수를 제어하며 1부터 현재 행 수 `i`까지입니다.
row += '* '; // 별을 `row`에 추가하여 현재 행의 별 문자열을 형성합니다.
}
console.log(row); // 현재 행의 별 문자열을 출력합니다.
}
// 예제 B
for (let i = 1; i <= 5; i++) { // 외부 반복문은 행 수를 나타냅니다
for (let j = 0; j <= 5 - i; j++) { // 내부 반복문은 열을 나타냅니다
document.write(''); // 별을 그래픽 요소로 사용합니다
}
document.write('</br>'); // 줄바꿈
}

break 반복문 종료(끝내기, 빠져나가기)

break는 현재 반복문 또는 switch 문을 종료(끝내기, 빠져나가기)하는 데 사용됩니다. break가 없으면 후속 case가 계속 실행됩니다(즉, “관통” 현상이 발생합니다).

“무한 반복 + break” 조합은 반복문 시작/종료 시 조건을 확인할 필요가 없지만, 중간이나 본문의 여러 위치에서 조건을 확인해야 하는 상황에 적합합니다.

예제:

let count = 0;
while (true) {
console.log("반복 중...");
// 특정 조건을 시뮬레이션하고, 조건이 충족되면 반복문을 빠져나갑니다
if (count === 5) {
console.log("조건 충족, 반복문 빠져나가기");
break;
}
count++;
}

continue 다음 반복 계속(건너뛰기)

continue는 반복문에서 현재 반복을 조기에 종료하고 다음 반복을 계속하는 데 사용됩니다. continuebreak의 “가벼운 버전”입니다. 전체 반복문을 중지하지 않습니다. 대신 현재 반복을 중지하고 새로운 반복을 강제로 시작합니다(조건이 허용하는 경우).

예제:

for (let i = 0; i < 8; i++) {
if (i % 2 === 0) {
continue; // i를 2로 나눈 나머지가 0일 때 현재 반복을 건너뛰고 다음 반복을 계속합니다
}
console.log(i);
}
공유:

댓글