0개 이상의 문을 중괄호로 묶은 것. 하나의 실행 단위
조건식의 평가 결과에 따라 블록문의 실행을 결정한다.
boolean
값으로 평가될 수 있는 표현식.
🌵 if...else 문
조건식은 boolean
값으로 평가되어야 한다.
만약 boolean
값이 아니면 자바스크립트 엔진에 의해 boolean
값으로 강제 변환되어 실행할 블록문을 결정한다. -> 암묵적 타입 변환
🌵 switch 문
switch문의 표현식은 boolean
값보다는 문자열이나 숫자 값인 경우가 많다.
논리적 참, 거짓보다는 다양한 상황(case)에 따라 실행할 블록문을 결정할 때 사용한다.
switch(표현식) {
case 표현식1:
switch 문의 표현식과 표현식1이 일치하면 실행될 문;
break;
case 표현식2:
switch 문의 표현식과 표현식2이 일치하면 실행될 문;
break;
default:
switch 문의 표현식과 일치하는 case 문이 없을 때 실행될 문;
}
break
문을 사용하여 블록문에서 탈출해줘야 한다.아래와 같이 폴스루를 활용해 여러 개의 case 문을 하나의 조건으로 사용할 수도 있다.
const month = 2;
const days = 0;
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days = 31;
break;
case 4: case 6: case 9: case 11:
days = 30;
break;
case 2:
days = 29;
break;
default:
console.log('Invaild month');
};
console.log(days) //29
조건식이 false
일 때까지 반복 실행한다.
for문, while문, do...while문이 있다.
🌵 while 문
반복 횟수가 불명확할 때 주로 사용한다.
만약 조건식의 평가 결과가 boolean
값이 아니면 boolean
값으로 강제 변환하여 논리적 참, 거짓을 구별한다.
조건식의 평가 결과가 언제나 참이면 무한루프에 빠진다 -> 탈출하기 위해서는 코드 블록 내에 if문과 break문으로 코드 블록을 탈출한다.
🌵 do...while 문
코드 블록을 먼저 실행하고 조건식을 평가.
let count = 0;
// count가 3보다 작을 때까지 코드 블록을 계속 반복 실행한다.
do {
count++;
} while (count < 3);
🌵 break 문
레이블 문, 반복문, switch 문의 코드 블록을 탈출한다.
이 외에 사용하면 SyntaxError가 발생함.
반복문을 더 이상 진행하지 않아도 될 때 불필요한 반복을 회피할 수 있다.
🌵 continue 문
반복문을 탈출하지 않고, 현시점에서 중단하여 반복문의 증감식으로 실행 흐름을 이동한다.