모던 자바스크립트 2.13 while과 for 반복문 2.14 switch문

모던 자바스크립트 2.13 while과 for 반복문 2.14 switch문

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

'while' 반복문

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

while (condition) { // 코드 // '반복문 본문(body)'이라 불림 }

'do...while' 반복문

do..while 문법을 사용하면 condition을 반복문 본문 아래로 옮길 수 있음

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

본문이 먼저 실행되고, 조건을 확인한 후 조건이 truthy인 동안엔 본문이 계속 실행

조건이 truthy 인지 아닌지에 상관없이, 본문을 최소한 한번이라도 실행하고 싶을 때만 사용

'for' 반복문

for (begin; condition; step) { // ... 반복문 본문 ... }

구성 요소

begin 반복문에 진입할 때 단 한 번 실행됩니다. condition 반복마다 해당 조건이 확인됩니다. false이면 반복문을 멈춥니다. body condition이 truthy일 동안 계속해서 실행됩니다. step 각 반복의 body가 실행된 이후에 실행됩니다.

구성요소 생략 가능

주의점 : 세미콜론 두개 넣어주어야 함

반복문 빠져나오기

지시자인 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가 차례대로 출력됨 }

** ‘?’ 오른쪽엔 break나 continue가 올 수 없음.

(i > 5) ? alert(i) : continue; // 여기에 continue를 사용하면 안 됩니다.

break/continue 와 레이블

반복문 안에서 break 문을 사용하면 레이블에 해당하는 반복문을 빠져나올 수 있음

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('완료!');

break outer는 outer라는 레이블이 붙은 반복문을 찾고, 해당 반복문을 빠져나오게 해줌

continue 지시자를 레이블과 함께 사용하는 것도 가능

break와 continue는 반복문 안에서만 사용할 수 있고, 레이블은 반드시 break이나 continue 지시자 위에 있어야 함

switch문

switch문을 사용한 비교법은 특정 변수를 다양한 상황에서 비교할 수 있게 해줌

switch문은 하나 이상의 case문으로 구성됩니다. 대개 default문도 있지만, 이는 필수는 아님

switch(x) { case 'value1': // if (x === 'value1') ... [break] case 'value2': // if (x === 'value2') ... [break] default: ... [break] }

** switch문은 일치 비교로 조건을 확인

from http://jjuunnjuning.tistory.com/79 by ccl(A) rewrite - 2021-11-04 03:27:52