본문 바로가기
JavaScript

[JavaScript/자바스크립트]반복문

by hans-j 2022. 12. 25.

조건식의 평가 결과가 참인 경우 코드 블럭을 실행한다.

그 후 조건식을 다시 평가하여 여전히 참인 경우 코드 블록을 다시 실행한다. 


for 문

조건식이 거짓일 때 까지 반복된다.

for (변수 선언문 또는 할당문; 조건식; 증감식){
     조건식이 참인 경우 반복 실행될 문;
}
for ( var i = 0; i < 2; i++){
    console.log(i);
}

 

응용 // 트리만들기

 for (var i =1; i <= 10; i = i+2){
    console.log(" ".repeat((10-i)/2) + "*".repeat(i));
 }

출력결과


https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/repeat

 

String.prototype.repeat() - JavaScript | MDN

repeat() 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.

developer.mozilla.org


while 문

조건식의 평가 결과가 참이면 코드블록을 계속해서 반복실행한다.

while문은 조건문의 평가결과가 거짓이 되면 코드 블록을 실행하지 않고 종료한다.

만약 조건식의 평가 결과가 불리언 값이 아니면 불리언 값으로 강제 변환하여 논리적 참, 거짓을 구별한다.


var count = 0;

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

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

응용 // 별찍기

var i = 1;

while (true){
    console.log("*".repeat(i));
    i++;
    if (i === 6) break;
}


for문은 반복횟수가 명확할 때 주로 사용하고 while문은 반복 횟수가 불명확할 때 주로 사용한다.


do ...while 문

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

var count = 0;

do {
  console.log(count);
  count++;
} while (count < 3);

응용 // 별찍기

var i = 1;

do {
  console.log('*'.repeat(i));
  i++;
} while (i < 10);


continue 문

코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킨다.

break문 처럼 반복문을 탈출하지는 않는다.

헷갈렸던 개념은 설명 한 번 더 보기...

let text = '';

for (let i = 0; i < 10; i++) {
  if (i === 3) {
    continue;
  }
  text = text + i;
}

console.log(text);
// expected output: "012456789"

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/continue

 

continue - JavaScript | MDN

continue 문은 현재 또는 레이블이 지정된 루프의 현재 반복에서 명령문의 실행을 종료하고 반복문의 처음으로 돌아가여 루프문의 다음 코드를 실행합니다.

developer.mozilla.org


**모던 자바스크립트 deep dive (이응모 선생님) 를 읽고 참고하여 작성하는 글입니다 **