7. 제어 구문

최용석·2024년 5월 15일

제어 구문

분류제어 구문설명
조건문if/else 문, switch 문, try/catch/finally 문조건에 따라 처리를 분기
반복문while 문, do/while 문, for 문, for/in 문, for/of 문조건을 만족하면 처리를 반복 실행
점프문break 문, continue 문, return 문, throw 문

조건문

if/else 문

기본적인 조건문으로 크게 다음과 같이 두 가지 형태로 나눌 수 있다.

1. if (조건식) 문장
2. if (조건식) 문장 1 esle { 문장 2 }

switch 문

분기점이 많아지는 경우 보다 간결하게 표현할 수 있게 해준다.

switch(표현식) {
	case 표현식 1 : 실행문 1 ( 문장 여러 개 )
    case 표현식 2 : 실행문 2 ( 문장 여러 개 )
    ...
    case 표현식 n : 실행문 n ( 문장 여러 개 )
    default: 실행문 n + 1 ( 문장 여러 개 )
}

fall-through(폴스루)

switch 문에서 fall-through란, 하나의 case 절에서 break 문을 사용하지 않고 다음 case 절로 코드 실행 흐름이 이어지는 것을 말한다. 폴 스루를 사용하면 알고리즘이 복잡해지는 경우가 많으므로, 가능하면 사용하지 않는 것이 좋다.

반복문

while 문

while (조건식) 문장

while 문 안에서는 break 문과 continue 문을 사용할 수 있다.

  • while 문 안에서 break를 실행하면 while 문에서 빠져나온다.
  • while 문 안에서 continue를 실행하면 while 문의 시작 부분으로 되돌아간다.

do/while 문

do 문장 while(조건식);

do/while 문 끝에는 반드시 세미콜론이 붙는다.do/while 문을 실행하면 먼저 문장을 실행한 후 뒤에 조건식을 평가한다.

for 문

for( 초기화 식; 조건식; 반복식 ) 문장

for/in 문

for ( 변수 in 객체 표현식 ) 문장

ex)

var obj = {a:1, b:2, c:3};
for(var p in obj) {
  console.log("obj." + p + " = " + obj[p]);
}

obj.a = 1
obj.b = 2
obj.c = 3

점프문

프로그램의 다른 위치로 이동하는 제어 구문

break문

break;

가장 안쪽에 있는 반복문이나 switch 문에서 빠져나온다.

break 라벨 이름;

라벨이 붙은 문장 끝으로 점프한다.

ex)

var a = [2, 4, 6, 8, 10], b = [1, 3, 5, 6, 9, 11];
loop: for(var i = 0; i < a.length; i++) {
	for(var j = 0; j < b.length; j++) {
    	if( a[i] == b[j] ) break loop;
    }
}
console.log("a[" + i + "] = b[" + j "]"); // -> a[2] = b[3]

continue 문

반복문에서만 사용가능하다는 것 외에는 break문과 같다.
ex)

var a = [2, 5, -1, 7, -3, 6, 9];
for(var i = 0, sum = 0; i < a.length; i++) {
  	if ( a[i] < 0 ) continue;
  	sum += a[i];
}
console.log(sum); // -> 29
profile
호기심이 많은 백엔드 개발자

0개의 댓글