본문 바로가기
프론트엔드/Deepdive

5. 제어문

by 귀월 2022. 12. 5.

정의

  • 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다. 일반적으로 코드는 위에서 아래로 순차적으로 실행되지만, 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다.
  • 코드의 실행 순서 변경은 직관적인 코드 흐름을 혼란스럽게 하여 가독성을 떨어뜨리고, 이는 오류 발생 가능성을 높인다. 따라서 제어문의 사용을 억제하는 것이 좋다.

 

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

'프론트엔드 > Deepdive' 카테고리의 다른 글

4. 연산자  (0) 2022.12.02
3. 데이터 타입(Data Type  (0) 2022.11.28
2. 표현식과 문  (0) 2022.11.15
1. 변수  (0) 2022.11.08

댓글