티스토리 뷰
▶반복문의 문법은 몇 가지가 있으며 각각의 구문은 서로 대체 가능하기 때문에 상황과 취향에 따라서 선택하여 사용하면 된다.
while
기본형식
while(조건){
// 반복해서 실행할 코드
}
- 조건에는 당연히 Boolean데이터타입이 와야 합니다.
- 조건의 Boolean이 true 에서 false가 될 때까지 반복됩니다.
- 조건식이 계속해서 true일 경우, 무한루프에 빠지게 되며 이는 쉽게 발생할 수 있는 오류입니다.
let i = 0; //초기화
while (i < 10) {
document.write(`Coding EveryBody! I am number ${i + 1}<br />`);
i = i + 1;}
for
기본형식
for(초기화; 반복조건; 반복이 될 때마다 실행되는 코드){
반복해서 실행될 코드
}
- while문을 한줄로 축약해놓은 ver이라고 생각된다.
- while문보다 짧지만 단점이 있다면 초기화; 반복조건; 반복될 때마다 실행되는 코드 를 기억하는 것
- ()소괄호의 마지막에 오는 "반복이 될 때마다 실행되는 코드"의 마지막에는 세미콜론이 붙지 않습니다.
- 반복문이 끝나면 중괄호 밖의 코드가 실행됩니다.
//초기화, Boolean(반복 조건), 반복 실행 코드
for (let i = 0; i < 10; i++) {
document.write(`Coding EveryBody! I am number ${(i + 1)}<br />`);
}
/* 주의: 백틱을 사용해서 함수${i + 1}을 해도 같은 결과물이 나오지만 백틱을 사용하지 않는다면
소괄호를 통해서 "Coding EveryBody! I am number "+(i + 1)+ "<br / >"
이런식으로 구분하여 써줘야 합니다. */
TIP: i = i +1 은 i++와 같은 역할을 합니다.
//++i는 위의 코드에서는 i++와 큰 차이가 없지만 먼저 증가시키고 i를 쓰느냐 나중에 증가시키느냐 차이입니다.
반복문의 제어
break
-반복작업을 중간에 중단시키고 싶다면 break를 사용하면 됩니다.
-조건문 안에 반복문이 들어갈 수 있고 반대로도 가능합니다.
for(var i = 0; i < 10; i++){
if(i === 5) {
break;
}
document.write('coding everybody'+i+'<br />');
}
continue
-실행을 즉시 중단하면서 반복은 지속되게 해줍니다.
for(var i = 0; i < 10; i++){
if(i === 5) {
continue;
}
document.write('coding everybody'+i+'<br />');
}
/*output:
coding everybody 0
coding everybody 1
coding everybody 2
coding everybody 3
coding everybody 4 // 5가 빠져있다.
coding everybody 6
coding everybody 7
coding everybody 8
coding everybody 9
*/
-> 위의 break코드에서는 i가 5가 됐을 때, 아예 반복을 멈춰버리지만 continue의 경우 i가 5가 됐을 때만 실행이 중단되고 그 이후의 반복문은 정상작동됩니다.
반복문의 중첩
-반복문 안에는 반복문이 들어갈 수 있습니다.
-개발자도구- > source -> 디버거 기능을 사용하면 어떻게 돌아가는 지 확인할 수 있습니다.
for (let i = 0; i < 10; i++) {
for (let j = 0; j < 10; j++) {
document.write(`hello ${i}${j} <br/>`);
}
}
디버깅하길 원하는 코드 줄에 브레이크 포인트를 걸어두고 아래 체크해놓은 버튼을 누르면 한단계씩 반복문이 진행되는 것을 확인할 수 있습니다.
반복문은 배열과 만났을 때 진가를 발휘하므로 개념을 잘 숙지해놓읍시다.
'Frontend > JavaScript' 카테고리의 다른 글
[생활코딩] JS문법: 배열(Array) (0) | 2022.01.05 |
---|---|
[생활코딩] JS문법: 함수(Function) (0) | 2022.01.03 |
[생활코딩] JS문법: 조건문(Conditional Statement) (0) | 2021.12.31 |
[생활코딩] JS문법: 비교 연산자 (0) | 2021.12.30 |
[생활코딩] UI vs API, web프로젝트 만들 시 검색 키워드 추천 (0) | 2021.12.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 항해99프론트후기
- 타입스크립트 DT
- getStaticPaths
- 타입스크립트 장점
- 항해99프론트
- 프리온보딩 프론트엔드 챌린지 3월
- fs모듈 넥스트
- 형제 요소 선택자
- 틸드와 캐럿
- tilde caret
- aspect-ratio
- Prittier
- 원티드 3월 프론트엔드 챌린지
- 프리렌더링확인법
- nvm 설치순서
- reactAPI
- ~ ^
- nvm경로 오류
- 항해99추천비추천
- getServerSideProps
- 원티드 프리온보딩 FE 챌린지
- is()
- && 셸 명령어
- 원티드 FE 프리온보딩 챌린지
- D 플래그
- float 레이아웃
- text input pattern
- 부트캠프항해
- 원티드 프리온보딩 프론트엔드 챌린지 3일차
- grid flex
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함