파트 1 - 자바스크립트 기본 - 13) While과 for 반복문

Lee·2021년 10월 3일
0
post-thumbnail

While과 for 반복문 링크 : https://ko.javascript.info/while-for

이터레이션 (iteration) : 반복문이 한 번 실행되는 것을 iteration이라고 한다. 세 번 반복문이 돌아가면 해당 반복문이 세 번의 이터레이션을 만드는 것이다.


do...while 반복문

do {
 //반복문 본문
}while(condition);

본문이 먼저 실행되고, 조건을 확인 후 조건이 truthy인 동안 본문이 실행된다.
대다수의 상화아에 while문이 적합하기 때문에 do...while문은 본문을 최소 한 번이라도 실행 하고 싶을 때만 사용해야 한다.


for 반복문

for(begin; condition; step){
	본문
}

for 반복문의 동작 순서는 begin 적용 -> condition 확인 -> 본문 동작 -> step 동작이다.

while과 동작에 조금 차이가 있는데 while은 step이 전위 증감연산자인지 후위 증감연산자인지에 따라 값이 변한다.

반면 for문은 가장 마지막에 step을 따지기 때문에 전위인지 후위인지가 문제 되지 않는다.

인라인 변수 선언

for 반복문은 괄호 안에 for(let i =0;...) 이런식으로 변수를 선언한다. 이런 변수 선언법을 '인라인' 변수 선언 이라고 부른다.

이렇게 선언된 변수는 반복문 안에서만 접근할 수 있다.

또 굳이 인라인 변수로 선언하지 않아도 이미 선언된 변수를 반복문에 쓸 수도 있다.

구성요소 생략 가능

let i = 0;
for (; i<3; i++) {
    alert(i);
}

//밖에 선언된 i 를 가져다 쓰기 때문에 begin이 필요 없어서 생략한 것이다.

모든 구성요소를 생략하면 무한 반복을 돈다.
구성요소를 생략 하더라도 구성요소 자리에 넣는 ;(세미콜론)을 생략하면 오류가 발생한다.


break/continue와 레이블

레이블(label)은 반복문 앞에 콜론(:)과 함께 쓰이는 식별자로 이중반복문 탈출, 이중반복문에서 외부 반복문의 다음 iteration을 수행하기에 유용하다.

labelname: for~

//outer라는 레이블을 가진 이중반복문 탈출
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('완료!');

※ label은 마음대로 점프하는 기능이 아니다!!
label은 반드시 사용되는 break, continue단 보다 위에 선언돼야 하고 정해진 문법대로만 사용할 수 있다. (당연하다)

모든 파트들이 그렇지만 본문 하단에 소중하고 유익한 예제들이 많다. 복습할 때도 꼭 그 예제들을 풀고 확인하길 바란다.

profile
하고 싶은 게 너무 많습니다.

0개의 댓글

관련 채용 정보