# 제어문(control flow statement)이란?
조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용한다. 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다.
1. 블록문
0개 이상의 문을 중괄호로 묶은 것으로, 코드블록 또는 블록이라고 부르기도 한다. 자바스크립트는 블록문을 하나의 실행단위로 취급한다. 또한, 블록문은 자체 종결성을 가지기 때문에 세미콜론을 붙이지 않는다.
2. 조건문(conditional statement)
주어진 조건식의 평가 결과에 따라 코드 블록의 실행을 결정한다. 조건식은 불리언 값으로 평가될 수 있는 표현식이다.
2.1 if문, if...else문
if(조건) {
//조건이 참이면 실행
}
if(조건) {
//조건이 참이면 실행
} else {
//조건이 거짓이면 실행
}
if(조건1) {
//조건1이 참이면 실행
} else if(조건2) {
//조건2가 참이면 실행
} else {
//조건이 거짓이면 실행
}
- 이때 삼항조건 연산자를 사용하면 간단하게 할 수 있다.
2.2 switch문
switch (표현식) {
case 표현식1:
실행문;
break;
case 표현식2;
실행문;
break;
default:
실행문;
}
- switch문의 표현식은 불리언 값보다는 문자열이나 숫자 값인 경우가 많다.
- break가 없다면 실행흐름이 멈추지 않고 흐르기 때문에 꼭 사용해야 한다.
- 모든 조건을 만족하지 않을 때 default 사용한다. 단, default 에는 break를 생략한다.
3. 반복문(Loop statement)
조건식의 평가 결과가 참인 경우 코드블록을 실행하며 이는 조건식이 거짓일 때까지 반복한다.
3.1 for문
for(변수선언문; 조건식; 증감식) {
실행문
}
for(변수선언문; 조건식; 증감식) {
for(변수선언문; 조건식; 증감식){
실행문
}
실행문
}
- 중첩 for문 사용가능하다.
- 무한루프에 빠지지 않게 주의해야한다.
- for문의 변수는 일반적으로 i 를 사용한다.
💡for문의 흐름
1) 변수 선언문은 단 한번만 실행된다.
2) 변수 선언문의 실행이 종료되면 조건식을 실행한다.
3) 조건식의 평가 결과가 true이면 코드블록이 실행된다.
4) 코드블록 실행이 종료되면 증감식이 실행되어 변수값이 증감된다.
5) 증감식 실행이 종료되면 다시 조건식이 실행된다.
6) 조건식이 false가 될 때까지 반복한다.
3.2 while 문
while(조건식) {
실행문
}
- for문은 반복 횟수가 명확할 때 주로 사용하고 while문은 반복 횟수가 불명확할 때 주로 사용한다.
- 조건식이 참이면 코드블록 반복실행한다.
- 조건식이 거짓이 되면 코드블록 종료한다.
- 조건식이 항상 참이면 무한루프에 빠지니 주의해야 한다.
3.3 do...while 문
do{
실행문
} while(조건식){
실행문
}
- 코드 블록을 먼저 실행하고 조건식을 평가한다.
- 코드 블록은 무조건 한 번 이상 실행된다.
4. break문
- 코드블록을 탈출하는 문
- break문을 사용하면 해당조건을 실행한후 다음 조건으로 안넘어가고 빠져나올 수 있다.
5. continue문
- 반복문에서 continue를 사용하면 그 자리에서 중단하고 반복문의 증감식으로 이동해 조건을 실행한다.
- continue 밑에 있는 실행문을 무시한다.
📌 출처
모던 자바스크립트 Deep Dive(이웅모 저)