[JavaScript] 반복문

thingzoo·2023년 4월 26일
0

JavaScript

목록 보기
5/7
post-thumbnail

반복문

반복문(loop) 을 사용하면 동일한 코드를 여러 번 반복할 수 있음

while문

condition(조건)이 truthy 이면 반복문 본문의 코드가 실행됨

while (condition) {
  // 코드
  // '반복문 본문(body)'이라 불림
}
let i = 0;
while (i < 3) { // 0, 1, 2가 출력됩니다.
  alert( i );
  i++;
}

do...while문

while과 비슷한데 condition을 반복문 본문 아래로 옮김

do {
  // 반복문 본문
} while (condition);
  • 본문을 최소한 한번이상 실행하고 싶을때 사용
let i = 0;
do {
  alert( i );
  i++;
} while (i < 3);

for문

가장 많이 쓰이는 반복문

for (begin; condition; step) {
  // ... 반복문 본문 ...
}
  1. i가 0부터 시작
  2. i < 3을 확인하고 alert(i)가 호출됨
  3. i +1 증가
  4. i < 3이 참일때까지 2~3 반복
for (let i = 0; i < 3; i++) { // 0, 1, 2가 출력됩니다.
  alert(i);
}
  • 구성요소 생략 가능
let i = 0; // i를 선언하고 값도 할당하였습니다.

for (; i < 3; i++) { // 'begin'이 필요하지 않기 때문에 생략하였습니다.
  alert( i ); // 0, 1, 2
}
for (; i < 3;) { // while(i < 3)과 동일
  alert( i++ );
}
for (;;) {
  // 끊임 없이 본문이 실행됩니다.
}

break

특별한 지시자인 break를 사용하면 언제든 원하는 때에 반복문을 빠져나올 수 있음

let sum = 0;

while (true) {

  let value = +prompt("숫자를 입력하세요.", '');

  if (!value) break; // (*)

  sum += value;

}
alert( '합계: ' + sum );

continue

현재 실행 중인 이터레이션을 멈추고 반복문이 다음 이터레이션을 강제로 실행

for (let i = 0; i < 10; i++) {

  // 조건이 참이라면 남아있는 본문은 실행되지 않습니다.
  if (i % 2 == 0) continue;

  alert(i); // 1, 3, 5, 7, 9가 차례대로 출력됨
}

label

  • break나 continue는 중첩 반복문일때 자신이 속한 반복문만 중단시키거나 건너뜀
  • 따라서 중첩 반복문에서는 label 식별자 사용
labelName: for (...) {
  ...
}
  • break [label]
outer: for (let i = 0; i < 3; i++) {

  for (let j = 0; j < 3; j++) {

    let input = prompt(`(${i},${j})의 값`, '');

    // 사용자가 아무것도 입력하지 않거나 Cancel 버튼을 누르면 두 반복문 모두를 빠져나옵니다.
    if (!input) break outer; // (*)

    // 입력받은 값을 가지고 무언가를 함
  }
}
alert('완료!');
  • continue [label]

Reference

🔗 모던 JavaScript 튜토리얼

profile
공부한 내용은 바로바로 기록하자!

0개의 댓글