반복문은 가성비가 가장 좋다고 생각하는 언어입니다.
여러 언어에서 사용을 하고, 문법상 차이점도 거의 없기 때문입니다.
for
for 문은 가장 많이 사용된다해도 과언이 아닐텐데요
for(초기화 ; 조건 ; 증감식){
//코드
}
위와같이 사용을 할 수 있습니다.
이 for 문의 사용법은 위에 나온거처럼 (초기화;조건;증감식) 이것들을 적어주어야 정상적으로 동작을 하게 됩니다.
for(let i = 0 ; i < 10 ; i++){
console.log(i);
}
이렇게 해주면 for문이 도는 조건이 i가 0부터 10보다 작을 때 까지 i를 1씩 증가시키는 조건을 가진 for 문이 생기게 됩니다.
여기서 i 를 콘솔에 for 가 돌아가는동안 계속 찍히는 코드를 적어보았습니다.
동작과정은 i 가 0 부터 10보다 작을때까지니 0~9를 출력하게 되고 0~9는 총 10번이니 for 문이 총 10번 반복한걸 확인할 수 있습니다.
중첩도 가능합니다.
for(let i = 1 ; i < 10 ; i ++){ //1번
for(let j = 1 ; j < 10 ; j ++){ //2번
console.log(`i:${i} - j:${j}`);
}
}
이 중첩 for 를 보시면 i와 j가 각각 9번씩 반복하는걸 알 수 있습니다.
이 코드를 출력하면
i:1 - j:1
i:1 - j:2
i:1 - j:3
이런식으로 j 만 증가를 하다가 어느 순간 i 가 2가 되고 j가 처음부터 다시 증가를 할 것 입니다.
왜 그러는걸까요?
이유는 for는 조건이 다 되어어야만 새롭게 출력이 됩니다. 그런데 1번을 돌던 중 2번으로 진입을 하게 되고 이 2번 for 문이 조건이 끝날때 까지 반복을 해야 2번조건이 끝나고 다시 1번 조건이 실행되기 때문입니다.
이런식으로 중첩을 하게 되고 이 중첩에 대해 이해를 완벽히 하셧다면 계속해서 중첩을 하실 수 있습니다.
- 무한반복은 불가한가?
for 에서 무한반복 가능합니다.
for(;;){}
이런식으로 적는다면 무한반복이 가능합니다. 하지만 특정 조건인 상태에서 이 반복문을 종료를 하기 위해서는 새로운 조건을 걸어주어야 하는데 이 부분은 다음에 알아보도록 합시다.
while
이도 for와 같은 반복문 이지만 구현 방법이 완전 다릅니다.
let i=0;
while(i<10){
i++;
}
방금 본 for 과는 많이 다른 형태입니다.
() 안에 모든 조건을 다 넣는 for 와 달리 while 은 여기저기 흩어져있습니다.
- 이것도 무한루프가 가능한가?
for 에서 처럼 while도 무한반복 가능합니다.
while(true){
}
과연 이렇게 불편한걸 쓰긴 쓸까?
하는 생각이 들 수 있습니다.
여기서 이제 차이점이 확연히 들어나게 됩니다.
for - 반복 횟수를 알고 있을 때
while - 특정 조건을 만날 때 까지 반복을 시킬 때
이런 차이가 있습니다.
소스코드 : github
vpdls1511/JavaScriptPractice
1day 1commit challenge. Contribute to vpdls1511/JavaScriptPractice development by creating an account on GitHub.
github.com
'JavaScript > JavaScript' 카테고리의 다른 글
JavaScript 공부하기 06 (object) array - 2 (0) | 2020.06.04 |
---|---|
JavaScript 공부하기 05 (조건문, 연산자) (0) | 2020.06.04 |
JavaScript 공부하기 03 (배열) array - 1 (0) | 2020.06.04 |
JavaScript 공부하기 02 (엄격모드, 변수) 'use strict' , variable (0) | 2020.06.04 |
JavaScript 공부하기 -1 (팝업 / popup) open(); alert(); prompt(); confirm(); (0) | 2020.05.21 |