FE/리뷰

[모던 자바스크립트 딥다이브] 8장 제어문

따봉치치 2024. 3. 11. 16:38

제어문
  • 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용
  • 코드의 실행 흐름(위 => 아래 순차 실행)을 인위적으로 제어 가능
  • 제어문을 많이 사용하면 코드의 흐름을 이해하기 어렵게 만들어 가독성을 해침

 

블록문
  • 0개 이상의 문을 중괄호로 묶은 것
  • 코드 불록 또는 블록이라고 부름
  • 자바스크립트는 블록문을 하나의 실행 단위로 취급
  • 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖음 => 끝에 세미클론 안붙힘

 

조건문
  • 주어진 조건식의 평가 결과에 따라 코드 블록의 실행을 결정함
  • 조건식은 불리언 값으로 평가될 수 있는 표현식

 

if ... else 문
  • 조건식의 평가 결과에 따라 실행할 코드 불록 결정
  • 평가 결과가 true이면 if 문의 코드 블록 실행
  • false 이면 else 문의 코드 블록 실행
  • 만약 조건식이 불리언 값이 아닌 값으로 평가되면 자바스크립트 엔진에 의해 암묵적으로 불리언 값으로 강제 변환됨

 

switch 문
  • 주어진 표현식을 평가해 그 값과 일치하는 표현식을 갖는 case 문으로 실행 흐름 옮김
  • case 문은 상황을 의미하는 표현식을 지정하고 콜론(:)으로 마침
  • case 문과 일치하는 표현식이 없다면 default 문으로 이동
  • 논리적 참, 거짓보다는 다양한 상황에 따라 실행할 코드 블록을 결정할 때 사용
  • breake문으로 코드 블록을 탈출하게 만들수도 있음

 

반복문
  • 조건식의 평가 결과가 참인 경우 코드 블록을 실행
  • 그 후 조건식을 다시 평가해 여전히 참인 경우 코드 블록을 다시 실행
  • 조건식이 거짓일 때까지 반복

 

for문
  • 조건식이 거짓으로 평가될 때가지 코드 블록을 반복 실행

 

while문
  • 주어진 조건식의 평가 결과가 참이면 코드 블록을 계속해서 반복 실행
  • 반복 횟수가 불명확할때 주로 사용

 

do ... while 문
  • 코드 블록을 먼저 실행하고 조건식을 평가
  • 코드 블록은 무조건 한 번 이상 실행됨

 

break 문
  • 반복, 제어문, 레이블 문에서 코드 블록을 탈출
레이블 문 : 식별자가 붙은 문. 프로그램의 실행 순서를 제어하기 위해 사용. 중첩된 for 문 외부로 타룰할 대 유용하지만 그 밖의 경우 일반적으로 권장하지 않음
ex)
foo : console.log('hi'); // foo라는 레이블 식별자가 붙은 레이블 문

 

 

continue 문
  • 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킴
  • 반복문을 탈출하지는 않음

 

 

Q. 블록문에 대해 설명해주세요

Q. 자바스크립트에서 반복문의 종류와 차이에 대해 말씀해주세요

Q. 제어문의 장점과 단점에 대해 말씀해주세요