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. 제어문의 장점과 단점에 대해 말씀해주세요