Front-End/JavaScript | jQuery | AJAX

03. 제어문(Control Statement)

Yerin Thea Yoo 2026. 2. 16. 23:16

프로그램은 기본적으로 위에서 아래로 순차 실행된다.

하지만 모든 코드가 항상 같은 흐름으로 실행되지는 않는다.

  • 조건에 따라 실행을 분기하거나
  • 같은 작업을 반복해야 하는 경우

이처럼 코드의 실행 흐름을 제어하는 문법을 제어문이라고 한다.

 

JavaScript의 제어문은 크게 다음과 같다.

  1. 조건문
  2. 선택문
  3. 반복문

1. 조건문(if)

조건이 참(true)일 때 특정 코드를 실행한다.

 

1) if문

if (조건식) {
	실행문;
}
let age = 20;
if (age >= 19) {
	console.log("성인입니다.");
}

 

2) if - else

조건이 거짓일 경우 실행할 코드를 지정한다.

if (age >= 19) {
	console.log("성인");
} else {
	console.log("미성년자");
}

 

3) else if

여러 조건을 순차적으로 검사한다.

let score = 85;

if (score >= 90) {
	console.log("A");
} else if (score >= 80) {
	console.log("B");
} else {
	console.log("C");
}

위에서부터 조건을 검사하며,

처음으로 true가 되는 블록만 실행된다.

 

4) 중첩 if

if문 안에 또 다른 if문을 사용하는 구조

if (age >= 19) {
	if (gender === "male") {
    	console.log("성인 남성");
    }
}

중첩이 깊어질 수록 가독성이 떨어지므로 주의해야 한다.

 

2. 선택문(switch)

하나의 값을 여러 경우와 비교할 때 사용한다.

switch (값) {
	case 값1;
    실행문;
    break;
    
    case 값2;
    실행문;
    break;
    
    default :
    실행문;
}
let menu = 1;

switch (menu) {
	case 1;
    console.log("아메리카노");
    break;
    
    case 2;
    console.log("라떼");
    break;
    
    default :
    console.log("기타");
}

주의 사항

  • break를 쓰지 않으면 아래 case로 계속 실행된다.
  • 값 비교는 엄격 비교(===) 기반으로 동작한다.

 

3. 반복문(Loop)

같은 코드를 여러 번 실행할 때 사용한다.

 

1) while문

조건이 참인 동안 반복

let i = 0;

while (i < 5) {
	console.log(i);
    i++;
}

조건이 처음부터 false면 실행되지 않는다.

 

2) do while문

최소 한 번은 실행된다.

let i = 0;
do {
	console.log(i);
    i++;
} while (i < 5);

조건을 나중에 검사한다는 점이 다르다.

 

3) for문

반복 횟수가 명확할 때 사용한다.

for (초기 값; 조건식; 증감식) {
	실행문;
}
for (let i = 0; i < 5; i++) {
	console.log(i);
}

가장 많이 사용되는 반복문이다.

 

4) break

반복문을 즉시 종료한다.

for (let i = 0; i < 10; i++) {
	if (i === 5) break;
}

 

5) continue

현재 반복을 건너뛰고 다음 반복으로 이동

for (let i = 0; i < 5; i++) {
	if (i === 2) continue;
    console.log(i);
}

 

6) 중첩 for

for문 안에 또 다른 for문을 사용하는 구조이다.

for (let i = 0; i < 3; i++) {
	for (let j = 0; j < 3; j++) {
    	console.log(i, j);
    }
}

2차원 구조 처리, 테이블 생성 등에 사용된다.