본문 바로가기
프로그래밍/자바스크립트 ES6

자바스크립트 ES6 #8 제어문

by 참외롭다 2023. 9. 12.
반응형

#블록문 #조건문 #ifelse문 #switch문 #반복문 #for문 #while문 #dowhile문 #break문 #continue문


제어문은 조건에 따라 코드블록을 실행하거나 반복 실행할때 사용한다.

 

제어문은 표현식이 아닌 문이다.

 

블록문

 

0개 이상의 문을 블록으로 묶은것

 

- 자바스크립트는 블록문을 하나의 실행 단위로 취급한다.

 

조건문

 

주어진 조건식의 평가 결과에 따라 블록문의 실행을 결정한다.

 

ifelse문

 

조건식의 평가 결과가 참 인경우 if 문의 코드블록이 실행된다.

 

- false 인 경우 else 문의 코드블록이 실행된다.

 

- else if 문으로 조건식 평가 결과에 따라 실행될 코드블록을 추가할 수 있다.

 

- if else 문은 표현식이 아닌 문이다. 변수에 할당할 수 없다.

 

- 삼항 조건연산자는 표현식인 문이다. 변수에 할당할 수 있다.

 

switch문

 

주어진 표현식을 평가해 그 값과 일치하는 표현식을 갖는 case 문으로 실행 흐름을 옮긴다.

 

- 일치하는 case가 없다면 실행 순서는 default 문으로 이동한다

- break가 없다면 case 문의 표현식과 일치하지 않더라도 실행 흐름이 case문으로 연이어 이동한다.

 

  var month = 11;
  var montName;
  swith(month) {
    case 1 : monthName = 'January'
    break;
    case 2 : monthName = 'February'
    break;
    ...
    default : montName = "Invalid Month"
    // default는 맨 마지막에 위치하므로 별도에 Break 문이 필요없다.
  }

var year = 2000;
var month = 2;
var days = 0;

switch(month) {
  case 1: case 3: case 5: case : 7 case : 8 case : 10 case :12
  days = 31;
  break;
  case 4: case 6: case 9: case 11:
  days = 30;
  break;
  case 2:
    days = ((year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0)) ? 29 : 28
  break;
  default :
    console.log("Invalid Month")
}
console.log(days)

 

반복문

 

조건의 평가결과가 참인 경우 코드블록을 실행한다.

 

- 조건의 평가결과가 여전히 참인경우 코드블록을 다시 실행한다.

 

- 평가결과가 거짓일때까지 수행한다.

 

for문

 

- 변수선언문이 실행된다.

 

- 조건식이 실행된다.

 

- 조건식의 평가값이 true 이면 코드블록이 실행된다.

 

- 코드블록실행이 끝나면 증감식이 실행된다.

 

- 조건식이 실행된다.

 

- 조건식의 평가값이 false 이면 코드블록을 실행하지않고 종료한다.

 

for (변수선언문; 조건식; 증감식) {
  //침일경우 실행될 코드블록
}

 

while문

 

조건식의 평가결과가 참이면 코드블록을 계속해서 실행한다

 

do...while문

 

코드 블록을 먼저 한번 실행하고 조건식을 평가한다.

 

break문

 

코드블록을 탈출한다.

 

- 레이블문, 반복문 또는 switch문의 코드블록을 탈출한다.

 

- 레이블문은 식별자가 붙은 문을 말한다.

 

foo: {
  console.log("foo");
  break;
  console.log("2")
}

 

continue문

 

코드블록의 실행을 현지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킨다.


 

#블록문 #조건문 #ifelse문 #switch문 #반복문 #for문 #while문 #dowhile문 #break문 #continue문

반응형