일반적으로 코드는 위에서 아래로 순차적으로 실행된다. 하지만 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다.
제어문은 코드의 흐름을 이해하기 어렵게 만들어 가독성을 해치는 단점이 있어 오류를 발생시키는 원인이 되지만 제어문을 바르게 이해하는것은 코딩 스킬에 많은 영향을 끼친다.
if(조건식1){
//조건식1이 참일때 실행
}else if(조건식2){
//조건식2가 참이면 실행, 여러번 사용 가능
}else if(){
⋮
}
⋮
}else{
//조건식1, 조건식2가 모두 거짓일때 실행
}
var x = 1;
if(x == 1){
console.log('true');
}else{
console.log('false');
}
switch(표현식){
case 표현식1:
switch문의 표현식과 표현식1이 일치하면 실행;
break;
case 표현식2:
switch문의 표현식과 표현식2가 일치하면 실행;
break;
default:
switch문의 표현식과 일치하는 case문이 없을 때 실행;
}
var score = 90;
var grade;
switch(score){
case 100:
grade = A;
break;
case 90:
grade = B;
break;
default:
grade = F;
}
for(변수 선언문 또는 할당문; 조건식; 증감식){
조건식이 참인 경우 반복 실행될 문;
}
for(var i = 0; i < 2; i++){
console.log(i);
}
var count = 0;
//조건식이 거짓일때 까지 코드 블록 계속 반복
while (count < 3) {
console.log(count);
count++;
}
코드 블록을 먼저 실행하고 조건식을 평가해 코드 블록은 무조건 한번 이상 실행된다.
var count = 0;
do{
console.log(count);
count++;
}while (count < 3);
코드 블록을 탈출할때 쓰는 문
if(true){
break;
}
만약 이중 for문을 사용한 상태에서 외부 for문을 탈출하려한다면 레이블 문을 사용하면 된다.
outer: for (var i = 0; i < 3; i++) { for (car j = 0 ; j < 3; j++) { if( i + j === 3) break outer; console.log(`inner [${i}, $[j]`); } } console.log('Done!');
continue문은 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킨다. 반복문을 탈출하지는 않는다.
var string = 'Hi welcome';
var search = 'e';
var count = 0;
for ( car i = 0; i < string.length; i++){
if (string[i] !== search) continue;
count++; //continue문이 실행되면 count는 실행되지 않는다.
}