용어
iteration (반복) : 반복 본문이 한 번 실행되는 것 / 3번 실행되면 세 변의 이터레이션이라고 함
'while' 반복분
문법
while (condition) {
// 코드
// '반복문 본문(body)'이라 불림
}
- 조건이 참이면 코드 실행
예제 1
// i++가 있어 무한반복이 되지 않음
let i = 0;
while (i < 3) { // 0, 1, 2가 출력됩니다.
alert( i );
i++;
}
예제 2
// 자동으로 조건을 0으로 만들어 false 후 반복 탈출
let i = 3;
while (i) { // i가 0이 되면 조건이 falsy가 되므로 반복문이 멈춥니다.
alert( i );
i--;
}
'do...while' 반복문
문법 / 본문 최소 '한' 번 실행
do {
// 반복문 본문
} while (condition);
본분 먼저 실행 -> 조건 확인 -> 참이면 본분 계속 실행
예
// 0 1 2 출력
let i = 0;
do {
alert( i );
i++;
} while (i < 3);
'for' 반복문
문법
for (begin; condition; step) {
// ... 반복문 본문 ...
}
예
for (let i = 0; i < 3; i++) { // 0, 1, 2가 출력됩니다.
alert(i);
}
- 반복문 안 begin에 정의한 i = '인라인' 변수 선언
- 이 변수는 반복문 안에서만 접근!
알고리즘
begin을 실행함
→ (condition이 truthy이면 → body를 실행한 후, step을 실행함)
→ (condition이 truthy이면 → body를 실행한 후, step을 실행함)
→ (condition이 truthy이면 → body를 실행한 후, step을 실행함)
→ ...
구성요소 생략
1 - begin 생략
let i = 0; // i를 선언하고 값도 할당하였습니다.
for (; i < 3; i++) { // 'begin'이 필요하지 않기 때문에 생략하였습니다.
alert( i ); // 0, 1, 2
}
2 - step 생략 ( = while ( i < 3)과 동일
let i = 0;
for (; i < 3;) {
alert( i++ );
}
(주의) 세미콜론 ; 은 두 번 꼭! 넣어야함
반복문 빠져나오기
- 조건 '거짓' 만들기
- 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와 레이블
레이블(label) : 반복문 앞에 콜론과 함께 쓰이는 식별자
문법
labelName: for (...) {
...
}
예 --> 중첩 반복문에서 break를 한번만 써서 두개의 for문 탈출
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('완료!');
아래와 같이도 가능
outer:
for (let i = 0; i < 3; i++) { ... }
--> continue 도 위와 같이 사용 가능
'javascript' 카테고리의 다른 글
기본 15. 함수 (1) | 2024.09.06 |
---|---|
기본 14. switch문 (0) | 2024.09.05 |
기초 12. nullish 병합 연산자 '??' (0) | 2024.09.03 |
기초 11. 논리 연산자 (0) | 2024.09.02 |
기초 10. if문과 조건부연산자 '?' (0) | 2024.09.02 |