정의
- 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다. 일반적으로 코드는 위에서 아래로 순차적으로 실행되지만, 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다.
- 코드의 실행 순서 변경은 직관적인 코드 흐름을 혼란스럽게 하여 가독성을 떨어뜨리고, 이는 오류 발생 가능성을 높인다. 따라서 제어문의 사용을 억제하는 것이 좋다.
1. 블록문
- 블록문은 0개 이상의 문을 중괄호로 묶은 것으로, 코드 블록이라고도 한다.
- js에서 블록문은 하나의 실행 단위로 취급하며, 제어문이나 함수를 정의할 때 사용한다.
2. 조건문
- 조건문은 주어직 조건식의 평가 결과에 따라 실행할 코드 블록을 결정한다. 조건식은 if else 문과 switch 문 두 가지로 구분된다.
- if else 문
- 주어진 조건식의 평가 결과가 논리적 참 또는 거짓에 따라 실행할 코드 블록을 결정한다. 조건식의 평가 결과가 true인 경우 if 문의 블록이, false 인 경우 else 문의 블록이 실행된다.
- else if 를 사용하여 조건식을 추가할 수 있다.
- 조건식의 평가 결과가 논리적 참 또는 거짓 값이 아니라면 js 엔진에 의해 암묵적으로 불리언 값으로 강제 변환되어 실행할 코드 블록을 결정한다.
- switch 문
- 주어진 조건식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 흐름을 옮긴다.
- 일치하는 표현식이 없다면 default 문으로 이동한다.
- 주로 조건식의 평가 결과가 문자열이나 숫자 값인 경우에 사용된다.
- break 문을 사용하지 않는다면 폴스루(fall through) 현상이 나타난다. 조건식의 평가 결과가 일치하는 값을 찾더라도 이후의 모든 case 문과 default 문을 실행한 후 반복문을 탈출한다. 따라서 원하는 결과 도출 후 break 를 사용해야 한다.
3. 반복문
- 조건식의 평가 결과가 참인 경우 코드 블록을 실행한다. 이후 조건식을 다시 평가하여 평가 결과가 참이면 코드 블록을 다시 실행하고, 거짓이면 실행을 종료한다.
- for 문, while 문, do while 문 세 가지 조건문이 있다.
- for 문
- 조건문이 거짓으로 평가될 때까지 코드 블록을 반복 실행한다.
- 반복 횟수가 명확할 때 사용한다.
- while 문
- 조건문이 거짓으로 평가될 때까지 코드 블록을 반복 실행한다.
- 반복 횟수가 불명확할 때 사용한다.
- 코드 블록 내에 if 문으로 탈출 조건을 만들고 break 문으로 코드 블록을 탈출한다.
- do while문
- 조건문이 거짓으로 평가될 때까지 코드 블록을 반복 실행한다.
- 코드 블록을 먼저 실행하고 조건식을 평가하며, 코드 블록을 무조건 한 번 이상 실행해야할 때 사용한다.
4. break 문
- 레이블 문이나 반복문, switch 문을 탈출할 때 사용한다.
- 이외에 사용 시 문법 에러가 발생한다.
5. continue 문
- continue 문은 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킬 때 사용한다.
출처 및 참고
[1] 자바스크립트 deep dive / 위키북스 / 이웅모
반응형
LIST
댓글