참고: 이웅모 《모던 자바스크립트 Deep Dive》 08장 · MDN Control flow

위에서 아래로만 흐르면 프로그램이 안 된다. 조건·반복·탈출이 흐름을 꺾는다. 이 장은 블록, if/switch, for/while, break/continue.

flowchart TD
  S[시작] --> IF{조건}
  IF -->|yes| A[블록 A]
  IF -->|no| B[블록 B]
  A --> LOOP[반복]
  B --> LOOP
  LOOP --> OUT[이후]

8.1 블록문

{ ... } — 여러 문을 하나로. let/const 스코프(15).

8.2 조건문

if…else

if (score >= 90) grade = 'A';
else if (score >= 80) grade = 'B';
else grade = 'C';

switch

=== 비교. break 필수(fall-through 의도 아니면).

switch (grade) {
  case 'A':
  case 'B':
    console.log('pass');
    break;
  default:
    console.log('fail');
}

8.3 반복문

for

초기식; 조건; 증감.

while / do…while

조건 선행 vs 최소 1회.

for (let i = 0; i < 3; i++) console.log(i);
let n = 3;
while (n--) console.log(n);

8.4 break

루프·switch 탈출. 레이블 가능(남용 비추).

8.5 continue