제어문control flow statement
forEach, map, filter, reduce 같은
고차 함수 사용한 함수형 프로그래밍 기법에서
제어문의 사용을 억제하여 복잡성 해결하는 노력
1. 블록문block/compound statement
0개 이상의 문을 중괄호로 묶은 것.
JS는 블록문을 하나의 실행 단위로 취급.
2. 조건문conditional statement
주어진 조건식conditional expression의 평가 결과에 따라 코드 블록의 실행을 결정.
조건식은 불리언 값으로 평가될 수 있는 표현식.
2.1. if ... else문
★불리언 값이 아닐 때
if문의 조건식이 불리언 값이 아닌 값으로 평가되면,
JS 엔진에 의해 암묵적으로 불리언 값으로 강제 변환됨.(암묵적 타입 변환)
2.2. switch문
switch문의 표현식과 일치하는 case문이 없다면,
실행 순서는 default문으로 이동함.
3. 반복문loop statement
반복문 대체 가능한 다양한 기능
- forEach 메서드
- for ... in문
- do ... while문
3.1. for문
3.2. while문
3.3. do ... while문
4. break문
레이블 문, 반복문, switch문 외에 break문 사용하면,
SyntaxError 발생
cf) 레이블 문label statement이란?
: 식별자가 붙은 문
5. continue문
반복문의 코드 블록 실행을 현 시점에서 중단하고
반복문의 증감식으로 실행 흐름을 이동시킴.
break처럼 반복문을 탈출하진 않음.