자바스크립트의 제어문

2025. 6. 10. 19:33·기술/JavaScript

제어문

제어문은 프로그램 흐름을 바꾸거나, 조건에 따라 특정 코드를 반복하거나 건너뛰게 하는 문법입니다.

 

1. 블록문 

{} 중괄호로 묶은 것

{
  // 여러 줄의 코드를 묶을 때 사용
  // 변수의 스코프(유효 범위)를 구분할 때도 사용됨
}

 

2. 조건문

조건에 따라 코드 실행합니다.

if, else if, else

참 또는 거짓 조건을 걸때 주로 사용합니다.

if (조건) {
  // 조건이 true일 때 실행
} else if (다른 조건) {
  // 위 조건이 false이고, 이 조건이 true일 때 실행
} else {
  // 모든 조건이 false일 때 실행
}

//중괄호 {}는 문장이 1개일 때 생략 가능
if (num > 0) kind = "양수"; // 중괄호 생략 가능
else kind = "음수 또는 0";

switch 문

여러 값을 구분해 처리할 때 유용합니다.

switch (표현식) {
  case 값1:
    // 표현식 === 값1일 때 실행
    break; //탈출, break가 없으면 아래 case까지 계속 실행(fall through)
  case 값2:
    // 표현식 === 값2일 때 실행
    break;
  default:
    // 위에 해당하는 case가 없을 때 실행
}

 

3. 반복문

어떤 작업을 여러 번 반복할 때 사용합니다.

while문

조건식이 참이면 계속 반복을 실행합니다.(반복 횟수가 불명확할때 사용)

while (조건) { //조건이 처음부터 false면 한 번도 실행되지 않음
  // 조건이 true인 동안 반복 실행
}


let i = 0;
while (i < 3) {
  console.log(i); // 0, 1, 2
  i++;
}

do while 문

코드블록을 먼저 실행하고 조건을 평가합니다.

do {
  // 코드 실행
  // 최소 1회는 실행됨 (조건 확인이 나중에 일어남)
} while (조건);

let i = 0;
do {
  alert(i); // 0
  i++;
} while (i < 1);

for문 

조건식이 거짓으로 평가될 때까지 코드 블록을 반복 실행합니다.(반복 횟수가 명확할때)

for (초기식; 조건; 반복식) {
  // 반복할 코드
}

for (let i = 0; i < 3; i++) {
  alert(i); // 0, 1, 2
}

break 와 continue

for (let i = 0; i < 10; i++) {
  if (i === 3) break; //반복을 즉시 종료
  alert(i); // 0, 1, 2
}

for (let i = 0; i < 5; i++) {
  if (i === 2) continue; //이번 반복만 건너뛰고 다음 반복으로 넘어감
  alert(i); // 0, 1, 3, 4
}

label 문 (레이블)

반복문 앞에 이름을 붙여 외부 반복문을 제어할 수 있게 합니다.

주로 중첩된 반복문이나 2차원 배열에서 사용합니다.

labelName: for (...) {
  for (...) {
    if (조건) break labelName; // 외부 반복문까지 break
  }
}

// 이중 반복문이 있다고 해보세요
for (let i = 0; i < 3; i++) {        // 바깥쪽 반복문
  for (let j = 0; j < 3; j++) {      // 안쪽 반복문
    if (어떤조건) {
      break;  // 이러면 안쪽 반복문만 멈춰요
    }
  }
}

//하지만 레이블을 쓰면
바깥반복문: for (let i = 0; i < 3; i++) {    // "바깥반복문"이라는 이름표
  for (let j = 0; j < 3; j++) {
    if (어떤조건) {
      break 바깥반복문;  // 바깥쪽까지 완전히 멈춰요
    }
  }
}
저작자표시 비영리 변경금지 (새창열림)

'기술 > JavaScript' 카테고리의 다른 글

자바스크립트 연산자(Operators)  (1) 2025.06.08
자바스크립트의 '동적 타이핑'과 '형 변환'에 대하여  (1) 2025.05.29
자바스크립트의 데이터 타입  (0) 2025.05.29
변수 선언 방식과 var, let, const 의 차이를 알아보자  (2) 2025.05.28
변수란 무엇인가?  (0) 2025.05.28
'기술/JavaScript' 카테고리의 다른 글
  • 자바스크립트 연산자(Operators)
  • 자바스크립트의 '동적 타이핑'과 '형 변환'에 대하여
  • 자바스크립트의 데이터 타입
  • 변수 선언 방식과 var, let, const 의 차이를 알아보자
빔네모
빔네모
console.log("빔네모")
  • 빔네모
    bimnemo("개발")
    빔네모
  • 전체
    오늘
    어제
    • 기록 (160) N
      • 기술 (48) N
        • JavaScript (8)
        • TypeScript (9)
        • React.js (12)
        • Next.js (0)
        • 라이브러리,도구 (4)
        • HTML,CSS (4)
        • CS (5)
        • BE (4)
        • 테스트 (2) N
      • 개발 (99)
        • 프로젝트 (0)
        • 트러블슈팅 (5)
        • 알고리즘(코딩테스트) (94)
      • 정보 (4)
      • 취미 (9)
        • 독서기록 (9)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
빔네모
자바스크립트의 제어문
상단으로

티스토리툴바