블록문(block statement/compound statement)은 0개 이상의 문을 중괄호로 묶은 것으로, 코드 블록 또는 블록이라고 부르기도 한다. 자바스크립트는 블록문을 하나의 실행 단위로 취급한다. 블록문은 단독으로 사용할 수도 있으나 일반적으로 제어문이나 함수를 정의할 때 사용하는 것이 일반적이다.
다음은 블록문이 사용되는 다양한 예 1 제다. 문의 끝에는 세미콜론 ';'을 붙이는 것이 일반적이다. 하지만 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에는 세미콜론을 붙이지 않는다는 것에 주의하기 바란다.
if … else 문
switch 문 : 값과 일치하는 표현식을 갖는 case 문으로 실행 흐름을 옮긴다.
일치하는 case 문이 없으면 default 문으로 이동한다.
break; 문이 없으면 다음 case로 문으로 넘어가서 실행된다. 이를 **폴스루(Fall Through)**라고 한다.
for 문
for (;;) { … } 해당 코드는 무한루프를 의미한다.
while문 : 보통 반복 횟수가 불명확할때 주로 사용한다.
do … while 문 : 일단 코드 블록을 먼저 실행하고 조건식을 평가한다. 즉, 무조건 한번 이상 실행된다.
레이블 문(Label Statement)이란 식별자가 붙은 문을 의미한다.
foo: {
console.log(1);
break foo;
console.log(2);
}
이러한 동작을 통해 특정 문을 탈출할 수 있다.

위 예시에서는 원래 break를 사용하면 내부 for 문을 탈출하는데, 외부 for 문에 식별자를 붙여 탈출하는 대상을 지정해줬다.