CodeStates/JavaScript

[JavaScript] 반복문

디스페어 2021. 12. 19.

반복문의 구조

1. for문

  • 초기화, 조건식, 증감문을 ';'으로 구분
  • 초기화, 조건식, 증감문은 선택사항이지만 조건문 생략시 break 필요
  • 상황에 따라 초기화, 조건식, 증감문 생략 가능
    *생략해도 세미콜론 ; 표시 필수, 생략된 for문은 while문과 형태가 같음
  • 초기화 : let 또는 var를 이용해 선언
  • var : 반복문에 제한되지 않음
  • let : 반복문의 지역변수가 됨
  • 같은 타입일 경우 ';'를 이용해 하나 이상의 변수의 초기화 및 증감이 가능
for(초기화; 조건식; 증감문) {
  // 반복할 내용
}

 

2. while문

  • 초기화, 증감문은 따로 작성
  • 조건식만 괄호 안에 작성
  • 초기화와 증감문이 필요없을 때 사용
  • 기본적인 동작구조는 for문과 동일
초기화
while(조건식){
  //반복할 내용
  증감문
}

 

3. 반복문에 조건문 적용

 for (let i = 0; i < 10; i++) { //1 ~ 9
   if (i % 2 === 0) { //2로 나눳을때 나머지가 0인 경우
     continue; //스킵
   }
   console.log(i); //1 3 5 7 9
 }
 
  for (let i = 0; i < 10; i++) { //1 ~ 9
   if (i === 5) { //i의 값이 5인 경우
     break; //5에서 멈춤
   }
   console.log(i); //0 1 2 3 4  =>  5는 포함되지 않음
 }

 for(let i=1; i>0; i++){
   let answer = confirm("계속하시겠습니까?");
   if (!answer){
     break;   // 취소를 누르면 멈춤
   }
 }

 while(true){
   let answer = confirm("계속하시겠습니까?");
   if (!answer){
     break;   // 취소를 누르면 멈춤
   }
 }

 

4. 이중 for문

for(초기화; 조건식; 증감문) {
  for(초기화; 조건식; 증감문) {
	//반복할 내용
  }
}
  • for문 중첩 가능

 

for(초기화; 조건식; 증감문) {
  for(초기화; 조건식; 증감문) {
	//반복할 내용
  }
  for(초기화; 조건식; 증감문) {
    //반복할 내용
  }
}
  • 중첩된 for문 만에 또 다른 for문 사용 가능 (다중 for문)

 

5. for문 구체화

//머리로는 알겠는데 정작 if문 등을 응용해서 작성하려고 하면 뇌정지 오는 겨우가 종종 생긴다
//그럴 경우 for문을 구체화해서 동작구조를 천천히 뜯어보는게 좋다


//<추상화>
for (let i = 0; i < 3; i++) {//i는 0부터 시작, i가 3보다 작을 때, i를 1씩 증가 
console.log(i) //0, 1, 2
}

//<구체화>
let i = 0 //i는 0부터 시작

if (i < 3) { //i가 3보다 작을 때
console.log(i) //i === 0
i = i + 1 //0 + 1 = 1
}

if (i < 3) { //i가 3보다 작을 때
console.log(i) //i === 1
i = i + 1 //1 + 1 = 2
}

if (i < 3) { //i가 3보다 작을 때
console.log(i) //i === 2
i = i + 1 //2 + 1 = 3이 나와야되지만 if의 조건문이 i가 3미만일때이므로 (true가 아니므로) 동작하지 않음
}
console.log(i) //2

 

 

Reference

for문

반응형

'CodeStates > JavaScript' 카테고리의 다른 글

[JavaScript] 원시 자료형과 참조 자료형  (0) 2022.02.09
[JavaScript] 호이스팅  (0) 2022.01.21
[JavaScript] 배열과 객체  (0) 2022.01.04
[JavaScript] 문자열  (0) 2021.12.19
[JavaScript] 조건문  (0) 2021.12.19

댓글