
-> 동일한 코드를 반복 실행 해야 할때 "반복문" 사용하면 동일한 코드를 여러번 반복 할수 있다.
💙 'while'반복문
ex1)
while (feeling) {
'기분좋음'
}
-> feeling 조건이 truthy 이면, 반복문의 코드가 실행된다.
ex2)
let i = 0;
while (i < 3) {
alert(i);
i++;
}
반복문 본문이 한 번 실행되는 것을 반복(iteration, 이터레이션) 이라고 부른다.
따라 , 위에선 3번의 이터레이션을 만든다.
** 만약 i++ 가 없었다면 동일한 수가 계속 반복되 었을 것이다.
🟣 반복문 조건엔 비교 뿐만 아니라 , 모든 종류의 표현식, 변수가 올수 있다.
조건 -> while에 의해 평가 되고 ,평가 된 후엔 불린 값으로 변경된다.
ex1)
while ( i! = 0 ) -> i가 0이 아닐때 true
let i = 3;
while (i) {
alert( i );
i--;
}
-> while(3) 조건식 ture = alert(i) 출력
i--;
while(2) 조건식 true = alert(i) 출력
i--;
일때 0 이 으로 조건이 falsy가 되며 반복문이 멈춘다.
💙 'do...while'반복문
-> 본문이 먼저 실행되고, 조건을 확인할 후 조건이 truthy 동안 본문이 계속 실행됨.
let i = 0;
do {
alert(i);
i++
} while (i < 3);
-> ture 조건에 상관 없이 ㅣ 본문을 최소한 한번 이라도 실행 하고 싶을때만 사용한다.
💙 'for' 반복문
-> 가장 많이 쓰이는 반복문
ex1)
for (let i = 0; i < 3; i++) {
// 0,1,2 가 출력 됩니다.
alert(i);
}
-> i = 0 ( 반복문에 진입할 때 단한번만 실행된다.)
i < 3 (반복마다 해당 조건이 확인된다. false일때 반복문을 멈춘다.)
alert(i) (반복할동안 조건이 true 일 경우 alert 창이 실행된다.)
i ++ (각 반복의 body가 실행된 이후에 실행된다. )
🟣 정의 되어 있는 변수 사용 가능
ex)
let i = 0;
for (i = 0; i < 3; i++){
alert(i);
}
alert(i) // 3
💙 반복문 빠져나오기
-> 반복문의 조건이 false가 되면 반목분이 종료 되지만,
특별한 break 를 사용하면 언제는 원하는 때에 반복문을 빠져 나올수 있다.
ex)
let sum = 0;
while (true) {
let value = +prompt("숫자를 입력하세요,", "");
if(!value) breake;
sum += value;
}
alert('합계' + sum);
-> 사용자가 입력하지 않거나 cancel 버튼을 눌렀을 때 활성화 되면,
반복문이 즉시 중단되고, 반복문 아래 첫번째 줄로 이동.
💙 다음 반복으로 넘어가기
-> "continue" 전체 반복문을 멈추지 않고
현재 진행중인 이터레이션을 멈추고 다음 이터레이션을 강제로 실행시키도록 한다.
ex) continue 사용해 홀수만 출력하기
for (let i = 0; i< 10; i++){
if(i % 2 == 0)continue;
alert(i); // 1, 3, 5, 7, 9
}
-> i가 짝수 이면 continue 가 본문 실행을 중단시키고 다음 이터레이션 실행.
반복문 연습 예제
(1) 전위형 증가 연산자를 사용한 경우 (++i);
let i = 0;
while (++i < 5) alert(i);
-> 먼저 ++ 의 계산이 되고 비교 , 따라 1,2,3,4 까지만 출력
(2) 후휘형 증가 연산자를 사용한 경우 (i++);
let i =0;
while(i++ < 5) alert(i);
-> i++ 는 i를 증가 시키긴 하지만, 기존 값이 반환된다.
첫번째 에서는 0 < 5 를 비교하게 된다. 하지만 i는 증가한후 임으로 1이 출력.
i = 4 일때는,
4 < 5 true 임으로 alert 창이 뜨고
5 < 5 임으로 마지막으로 출력되는 값은 5 가 된다.
(1) 후위형 증가 연산자를 사용한 경우(i++)
for (let i = 0; i < 5; i++) alert(i);
-> 0,1,2,3,4
(i++ 조건과 별개로 실행된다.)
(2) 전위형 증가 연산자를 사용한 경우(++i)
for (let i = 0; i < 5; ++i) alert(i);
-> 0,1,2,3,4
3.for 반복문을 이용하여 짝수 출력하기
for (let i = 2; i <= 10; i++) {
if(i % 2 == 0) {
alert(i)
}
}
let num = 0
while (num <= 100) {
promt('100보다 큰 수를 입력하세요');
if (num !)
break;
}