본문 바로가기
JavaScript

[JavaScript] 제어문

by eddypark 2023. 9. 27.

- 제어문(control flow statement) : 조건에 따라 코드 블록을 실행하거나 반복 실행 할 때 사용하거나 코드의 실행 흐름을 인위적으로 제어한다.

(1) 블록문(block statement)

- 0개 이상의 문을 중괄호로 묶은 것

(2) 조건문(Conditional statement)

- 주어진 조건식의 결과에 따라 블록문의 실행을 결정

- boolean값으로 평가될 수 있는 표현식

- if...else, swtich

- if...else문은 조건식의 평가 결과에 따라 실행할 코드 블록을 결정

if(조건식 1){
    //조건식 1이 참이면 이 코드 블록 실행
} else if(조건식2){
    //조건식 2이 참이면 이 코드 블록 실행
} else {
    //조건식 1,2가 모두 거짓이면 이 코드 블록 실행
} 

var num = 10;
var a;

if(num % 2) 
	a = '홀수';
else 
	a = '짝수';

console.log(a)                  // 짝수

a= num % 2 ?  '홀수' : '짝수';  // 삼항 조건 연산자로도 바꿔 쓸 수 있음

console.log(a)                  // 짝수

- switch문은 주어진 표현식을 평가하여 그 값을 일치하는 표현식을 갖는 case문으로 실행 흐름을 욺긴다.

 

switch(표현식){
    case 표현식1 :
        switch 문의 표현식과 표현식 1이 일치하면 실행될 문;
        break;
    case 표현식2 :
        switch 문의 표현식과 표현식2가 일치하면 실행될 문;
        break;
    default :
        switch 문의 표현식과 case 문이 없을 때 실행될 문;
}

var score = 90;
switch(score){
    case 100 :
        console.log("A");
        break;
    case 90 :
        console.log("B");
        break;
    case 80 :
        console.log("C");
        break;
    default :
        console.log("F");
}

 

(3) 반목문

- 조건식의 평가 결과가 참인 경우 코드 블록을 실행한 뒤 그 후 조건식을 다시 평가하여 거짓일 때까지 반복한다.

- for, while, do... while

- for문은 조건식이 거짓으로 평가될 때까지 코드 블록을 반복 실행한다.

for ( 변수 선언문 또는 할당문 ; 조건식 ; 증감식){
    조건식이 참인 경우 반복 실행될 문;
}

for(var i=0; i<5; i++){
    console.log("wangi"); // wangi 세번 반복
}

- while문은 주어진 조건식의 평가 결과가 참이면 코드 블록을 계속해서 반복 실행한다. (반복 횟수가 불명확할 때 주로 사용한다.)

while(조건식){
    조건식이 참인 경우 실행될 문;
}

var a = 0;
while (a<3) {
  console.log(a);      // 0 1 2
  a++;
}

- do.... while문은 코드 블록을 먼저 실행하고 조건식을 평가한다. 코드 블록은 무조건 한 번 이상 실행된다.

do{
    실행 될 문;
}while(조건식);


var a = 0;
do{
    console.log(a);  // 0 1 2 
    a++;
}while(a<3);

(4) break, continue 문

- break는 반복문, switch문의 코드 블록을 탈출할 때 쓰인다.

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

'JavaScript' 카테고리의 다른 글

[JavaScript] 객체  (0) 2023.10.04
[JavaScript] 타입변환과 단축평가  (0) 2023.09.27
[JavaScript]연산자  (0) 2023.09.26
[JavaScript]데이터 타입  (0) 2023.09.25
[JavaScript] 기본 문법  (0) 2023.09.25