whatisthis?
javaScript. (6) 반복문(loop) 본문
반복문
- 프로그래밍에서는 코드를 반복할 일이 많다.
- 단순히 같은 코드를 반복하기도 하지만, 반복할 때마다 숫자를 1씩 더하는 등의 행동을 할 수도 있다.
- 대표적으로 for과 while이 있다.
📌 For
for (let i = 0; i < 10 ; i++) {
console.log(i);
}
for (시작 ; 조건 ; 끝) { 내용 } 과 같이 구성되어있다.
시작은 let i =0
조건은 i < 10이고
끝은 i ++이다.
과정을 살펴보면 다음과 같다.
1) for문을 시작하기 전에 i = 0으로 시작한다. (i라는 변수를 만들고 0으로 초기화)
2) 조건 비교. i < 10을 만족하므로 내용 실행. (console.log)
3) 끝인 i++ 를 실행. ( i = i + 1 으로 i=1이 된다.)
4) 반복. (조건이 맞을때까지)
...
i = 9 에서 console.log를 하고나서
끝에 i++ 를 하므로 i = 10이 될때 for문은 조건을 더이상 만족하지 않는다.
<결과>
0 1 2 3 4 5 6 7 8 9
// console.log이므로 줄 바꿈이 있지만 생략했음.
📌 While
let i = 0;
while (i < 10) {
console.log(i);
i++;
}
while문은
while (조건) {내용} 과 같이 구성된다.
- for문과는 달리 시작부분은 while 전에 써주고 (let i = 0)
- 끝부분은 while 안에 추가로 작성해야한다. (i++)
___
❕ break와 continue
- while문 안에 break;를 넣으면 반복문을 중단할 수 있다.
let i = 0;
while(i < 10) {
if (i > 5) {
break;
}
console.log(i);
i++;
}
원래대로라면 i < 10까지이니
0부터 9까지 반복해야하지만,
if - break에 의해 5까지만 console.log하고 break함. (loop를 빠져나감)
⭕ 원하는 결과값을 찾았지만 루프는 남아있는 상황에서 편리함.
- continue가 있으면 그 아랫부분은 실행하지 않고 다음 반복문으로 넘어감.
let i = 0;
while (i < 10) {
i++;
if(i % 2 === 0) {
continue;
} // 이 아래는 실행 ❌
console.log(i);
}
위 예제는 i%2=0일때, 즉 짝수일 때 continue하여
1-10사이 홀수만 console.log하고 넘어가게 된다.
⭕ 반복문의 공통된 수행에서 예외를 두고 싶을 때 사용
___
❕ do - while문
let i = 0;
do {
console.log(i);
i++;
} while (i < 10)
- while에 비해 내용을 먼저 실행 후 조건 비교.
while | 조건 검사 -> 내용 실행 |
do while | 내용 실행 -> 조건 검사 (최소 한번은 실행된다.) |
💡 for문 vs while문
for문 | 반복 횟수를 정할 수 있으므로 몇 번 반복되는지 알 때 사용함. |
while문 | 조건만 설정할 수 있으므로 몇 번 반복되는지 모를 때 사용함. |
💡 반복문에서 주의할 점
- 절대로 무한 루프를 만들어서는 안된다.
>> 메모리 부족 or CPU 풀가동으로 프로그램이 멈추게 된다.
결과를 예측하고 만들어야 함!
REFERENCE
https://www.zerocho.com/category/JavaScript/post/57341f84420974fa1f92a761
이 포스팅은 zerocho님의 javascript 강의와 책을 보고 작성한 글입니다.
공부+기록 용으로 작성한 것이며, 자세한 것은 위 포스팅을 참고하세요!
'WEB STUDY > JAVASCRIPT' 카테고리의 다른 글
javaScript. (7) 문자열 (0) | 2022.01.22 |
---|---|
javaScript. console 객체의 메서드 (0) | 2022.01.19 |
javaScript. (5) 조건문(condition) (0) | 2022.01.17 |
javaScript. (4) 연산자(operator) (0) | 2022.01.17 |
javaScript. (3) 함수(Function) (0) | 2022.01.17 |