반복적인 작업을 할 때 사용한다.
반복문은 while, for
문 2가지가 존재한다.
✔️ while(조건문)
while(조건문){ 반복할 코드 }
조건 없이 넣을 경우 멈추지 않고 계속 실행되기 때문에 조건을 넣어 줘야한다
while(true){ document.write('Condig'); }
'Coning'이라는 문구가 화면에 10번 출력 될 수 있도록 조건을 넣어 줬다.
i는 10보다 작으면 실행되며 같거나 크면 false가 된다.
컴퓨터는 1이 아닌 0부터 숫자를 카운팅
하기 때문에 이 점 유의해야한다.let i = 0; //i의 값이 10보다 작으면 true, 같거나 크면 false가 된다. //10번까지 진행되고 종료된다. while(i < 10){ document.write('Coding'); // i값이 1씩 증가 i++ }
초기화, 반복조건, 반복 될 때마다 실행되는 코드가 서로 분리
되어 있기 때문에 중간에 다른 코드를 작성 될 수 있어 소스가 복잡해지고 추후 구분하기 힘들어 가독성도 떨어진다.
✔️ for()
for(초기화; 반복조건; 반복 될 때마다 실행되는 코드){ 실행 코드 }
for문의 경우 그룹을 지을 수 있다.
- for문의
구성요소와 각각 뒤에 ;(세미콜론)를 작성
해 줘야하며 마지막에는 ;(세미콜론)를 작성해 주면 에러가 난다.for(let i = 0; i < 10; i++){ document.write('Coding'); }
초기화(let i = 0) : for문이 실행 할 때 한 번만 실행한다.
반복조건(i < 10) : 반복 조건이 실행 된다. i = 0으로 i < 10에서 i에 0을 넣는다면 0 < 10되고 true되기 때문에
document.write('Coding');이 실행된다.
반복 될 때마다 실행 되는 코드
(i++)
: 반복조건이 전부 실행 후 진행된다. i++은 i에 1씩 더한다는 뜻으로 0이였던 i는 1이되어 반복조건에 만족되어 실행된다.
코드가 실행되고 다시 i에 1을 더해 2가되면서 2 < 10에 충족되기에 또 실행된다.
이렇게 9 < 10까지 실행 후 i의 값이 10이 되어 false가 될 때까지 실행 후 종료 한다.
i++
,++i
i를 1씩 증가 하는 공통점이 있지만
다른점은 있다. 이점 참고하면 좋을 것 같다.let i = 0; //기존의 값을 먼저 사용되어 0이 먼저 출력 된다. alert(i++); //i의 값을 증가 시키고 사용하기 때문에 1이 출력 된다. alert(++i);
✔️ i
로 사용 하는 이유는 iterate의 약자
로 반복문에 사용하는 기준점으로 관용적인 의미
로 사용한다.
꼭 i로 작성할 필요가 없는거 같다.
공부 없이 그냥 봤을 땐 왜 이렇게 작성되어 있는거지?
조건이 3개인가? 라는 의문을 갖기도 하고 이해가 안 됐었다.
지금은 왜 이렇게 작성하고 어떻게 흘러가지는 눈에 보이니 이해하기 편했고 while()
문 보단 for()
문을 더 자주 사용하는 거 같다.
그리고 ++i
, i++
의 차이점을 미리 알고 있으면
추후 코드 작성할 때 유용할 거 같다.