제어문 ( control flow statement ) 은 조건에 따라 코드 블록을 실행 (조건문) 하거나 반복 실행 (반복문) 할 떄 사용한다.
if ... else 문은 논리적 참 또는 거짓에 따라 실행할 코드 블록을 결정한다.
따라서 조건식에는 참 거짓을 판별할 수 있는 표현식 ( 불리언값으로 평가될 수 있는 표현식 ) 이 들어가야 한다.
if ( 조건식 ) {
// 조건식이 참 일때 실행되는 블럭
} else {
// 조건식이 거짓 일때 실행되는 블럭
}
-----------------------------------
var a = 4
var b = 3
if ( a > b ) {
console.log(a+'는'+b+'보다크다');
} else {
console.log(a+'는'+b+'보다작다');
}
// 4는 3보다 크다 출력
조건식이 2개 이상일 때, else if 문을 쓴다.
else if 문은 여러번 사용 가능하다.
if ( 조건식1 ) {
// 조건식1이 참이면 실행
} else if ( 조건식2 ) {
// 조건식 2가 참이면 실행
} else {
// 모두 거짓이면 실행
}
switch문은 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 흐름을 옮긴다.
switch ( 표현식 ) {
case 표현식1 :
표현식과 표현식1이 일치시 실행될 문;
break;
case 표현식2 :
표현식과 표현식2이 일치시 실행될 문;
break;
default;
일치하는 case문이 없을 시 실행될 문;
}
for문은 반복횟수가 명확할 때 사용
for ( 변수선언문; 조건식; 증감식 ) {
조건식이 참 인경우 반복실행될 문;
}
중첩 반복문은 for문 내에 for문을 중첩 하여 사용하는 것이다. // 피해야 하는 케이스
별찍기해보면 이해하기 쉽다.
for ( var i = 0; i < 5; i++ ){
for ( var j = 0; j < 5; j++ ){
console.log([i,j]);
}
}
/* [0,0] [0,1] [0,2] [0,3] [0,4] [1,0] [1,1] [1,2] [1,3] [1,4]
[2,0] [2,1] [2,2] [2,3] [2,4] [3,0] [3,1] [3,2] [3,3] [3,4] */
while문은 반복 횟수가 불명확할 때 사용하며, 무한반복이므로 탈출구를 만들어줘야한다.
실무에서는 잘 쓰지않는다.
while ( 조건식 ) {
반복 실행 할 문;
}
----------------------------
// count가 3보다 작을 때 까지 무한 반복 돌린다.
var count = 0;
while ( count < 3 ) {
console.log(count);
count++;
}
// 0 1 2