제어문은 조건에 따라 코드 블록을 실행 하거나 반복 실행 할 때 사용한다.
제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다.
만약 조건문이 참일 경우 if 내의 블록문을 실행하고 거짓일시 else 내의 블록문을 실행한다.
var x = 20;
if (x % 2 ===0) {
console.log('x는 짝수이다')
} else {
console.log('x는 홀수이다')
}
이를 삼항 연산자로 바꾸면 다음과 같다
var x = 20;
var calculator = (x % 2 === 0) ? console.log('x는 짝수이다') : ('x는 홀수이다');
switch 문은 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 흐름을 옮긴다.
let month = 11;
let monthName;
switch (month) {
case 1: monthName = 'January';
break
case 2: monthName = 'Fabruary';
break
case 3: monthName = 'March';
break
case 4: monthName = 'April';
break
case 5: monthName = 'May';
break
case 6: monthName = 'June';
break
case 7: monthName = 'July';
break
case 8: monthName = 'August';
break
case 9: monthName = 'September';
break
case 10: monthName = 'October';
break
case 11: monthName = 'November';
break
case 12: monthName = 'December';
break
default: monthName = 'Error';
}
console.log(monthName); // November
for 문은 조건식이 거짓으로 평가될 때 까지 코드 블록을 반복 실행한다.
for (var i = 0; i < 6; i++) {
console.log(i)
}
// 0 1 2 3 4 5
for 문은 반복 횟수가 명확할 때 주로 사용하고 while 문은 반복 횟수가 불명활할 때 주로 사용한다.
var count = 0;
while (count < 6) {
console.log(count);
count++;
}
console.log(count); // 0 1 2 3 4 5
breake문은 레이블 문, 반복문, switch 문의 코드블록을 탈출한다.
foo: {
console.log(1);
break foo; // foo 레이블 문 탈출
console.log(2);;
}
console.log('Done!');
// 1 Done!
for (var i = 0; i < 6; i++) {
console.log(i);
if (i === 3) {
break;
}
}
// 0 1 2 3
continue 문은 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킨다. break 문처럼 반복문을 탈출하지는 않는다.
var string = 'Hello World';
var search = 'l';
var count = 0;
for (var i = 0; i < string.length; i++) {
if (string[i] !== search) continue;
count++;
}
console.log(count); // 3