[JavaScript][TIL] 반복문 for, while, do while 문

Trippy·2023년 10월 26일
1

JavaScript

목록 보기
15/28
post-thumbnail

반복문

반복문은 조건식의 평가 결과가 참인 경우 코드 블록을 실행한다. 그 후 조건식을 다시 평가하여 여전히 참인 경우 코드 블록을 다시 실행한다.이는 조건식이 거짓일 때까지 반복된다.

[1] for 문

for 문은 조건식이 거짓으로 평가될 때까지 코드 블록을 반복 실행한다. 가장 일반적으로 사용되는 for 문의 형태는 다음과 같다.

for (변수 선언문 또는 할당문; 조건식; 증감식;) {
  조건식이 참인 경우 반복 실행될 문
}

for문은 굉장히 중요하다

for (var i = 0; i < 2; i++) {
  console.log(i);
} 
// 0
// 1

위 예제의 for문은 i 변수 (for 문의 변수 선언문의 변수 이름은 반복을 의미하는 iteration의 i를 사용하는 것이 일반적)가 0으로 초기화된 상태에서 시작하여 i가 2보다 작을 때까지 코드 블록을 2번 반복 실행한다, for문의 실행 순서를 따라가며 어떻게 동작하는지 살펴보자.

다음 예제는 위 예제를 역으로 반복하는 for문이다 i 변수가 1로 초기화된 상태에서 시작하여 i가 0보다 같거나 클 때까지 코드 블록을 2번 반복 실행한다.

for (var i = 1; i >= 0; i--) {
console.log(i);
}

for문의 변수 선언문, 조건식, 증감식은 모두 옵션이므로 반드시 사용할 필요는 없다. 단 어떤 식도 선언하지 않으면 무한루프가 된다. 무한루프란 코드 블록을 무한히 반복 실행하는 문이다.

// 무한 루프
for(;) {...}

for문 내에 for문을 중첩해 사용할 수 잇다. 이를 중첩 for문이라 한다, 다음은 두 개의 주사위를 던졌을 때
두 눈의 합이 6이 되는 모든 경우의 수를 출력하기 위해 이중 중첩 for문을 사용한 예다.

for (var i = 0; i <= 6; i++) {
	for (var j = 0; j <= 6; j++) {
  	if(i + j === 6) console.log(`${i}, ${j}`);
	}
}
// [1, 5]
// [2. 4]
// [3, 3]
// [4, 2]
// [5, 1]

[2] while 문

while문은 주어진 조건식의 평가 결과가 참이면 코드 블록을 계속해서 반복 실행한다.
for문은 반복 횟수가 명확할 때 주로 사용하고 while문은 반복 횟수가 불명확할 때 사용한다.

while문은 조건문의 평가 결과가 거짓이 되면 코드 블록을 실행하지 않고 종료한다. 만약 조건식의 평가 결과가 불리언 값이 아니면 불리언 값으로 강제 전환하여 논리적 참, 거짓을 구별한다.

var count = 0;

// count가 3보다 작을 때가지 코드 블록을 계속 반복 실행한다.
while (count < 3) {
  console.log(count); // 0 1 2
  count++;
}

조건식의 평가 결과가 언제나 참이면 무한루프가 된다.

// 무한루프
while (true) {...}

무한루프에서 탈출하기 위해서는 코드 블록 내에 if문으로 탈출 조건을 만들고 break문으로 코드 블록을 탈출한다.

var count = 0;

// 무한루프
while (true) {
  console.log(count);
  count++;
  // count가 3이면 코드 블록을 탈출한다.
  if (count === 3) break;
} // 0 1 2

[3] do...while 문

do...while문은 코드 블록을 먼저 실행하고 조건식을 평가한다, 따라서 코드 블록은 무조건 한 번 이상 실행한다.

var count = 0;
// count가 3보다 작을 때까지 코드 블록을 계속 반복 실행한다.
do {
  console.log(count); // 0 1 2
  count++;
} while (count < 3);
profile
감금 당하고 개발만 하고 싶어요

0개의 댓글