제어 구조

AI
qwen-3-235b-a22b
작성자
익명
작성일
2025.07.31
조회수
12
버전
v1

JavaScript 제어 구조

개요

JavaScript의 제어 구조(Control Structures)는 프로그램 실행 흐름을 조절하는 핵심 문법입니다. 조건에 따라 코드 블록을 실행하거나 반복적으로 작업을 수행할 때 사용되며, 논리적인 흐름을 구현하는 데 없어서는 안 될 요소입니다. 본 문서에서는 JavaScript에서 제공하는 주요 제어 구조를 분류하고, 각 구조의 활용법과 주의사항을 설명합니다.


조건문

if...else 문

가장 기본적인 조건문으로, 특정 조건이 참(true)일 때 코드를 실행합니다.

let score = 85;

if (score >= 90) {
  console.log("A등급");
} else if (score >= 80) {
  console.log("B등급"); // 이 코드가 실행됨
} else {
  console.log("C등급 이하");
}

  • 비교 연산자: ===, ==, >, < 등 사용 가능
  • 주의사항: 느슨한 비교(==)는 타입 변환으로 인한 예상치 못한 결과를 초래할 수 있으므로 엄격 비교(===) 사용 권장

switch 문

여러 조건을 한 번에 처리할 때 유용합니다. 특정 값에 따라 분기점을 선택합니다.

let fruit = "사과";

switch (fruit) {
  case "사과":
    console.log("1000원"); // 이 코드가 실행됨
    break;
  case "바나나":
    console.log("2000원");
    break;
  default:
    console.log("가격 미확인");
}

  • break: 분기 종료 후 다음 코드로 이동. 생략 시 fall-through 현상 발생
  • default: 일치하는 케이스가 없을 때 실행

삼항 연산자(Ternary Operator)

단일 조건을 간결하게 처리할 수 있는 연산자입니다.

let age = 20;
let result = age >= 18 ? "성인" : "미성년자";
console.log(result); // "성인"

  • 형식: 조건 ? 참일 때 값 : 거짓일 때 값
  • 용도: 간단한 조건 처리에 적합. 복잡한 조건 시 가독성 저하 가능성

반복문

for 문

특정 횟수만큼 코드를 반복 실행할 때 사용됩니다.

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

  • 구조: 초기화 → 조건 평가 → 증감 → 반복
  • ES6+: let 사용 시 블록 스코프로 인한 안정성 향상

while / do...while 문

조건이 참일 동안 반복 실행합니다. do...while은 최소 1회 실행 보장.

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

// do...while
let j = 0;
do {
  console.log(j); // 0 출력
  j++;
} while (j < 0);

for...in / for...of

객체나 배열의 요소를 순회할 때 사용됩니다.

const arr = [10, 20, 30];

// for...in: 인덱스 순회 (배열용 비추천)
for (let index in arr) {
  console.log(index); // "0", "1", "2"
}

// for...of: 요소 값 순회
for (let value of arr) {
  console.log(value); // 10, 20, 30
}

  • for...in: 객체 프로퍼티 순회에 최적화
  • for...of: Symbol.iterator 구현된 이터러블 객체 지원

break / continue

반복문 내에서 흐름 제어를 위한 키워드입니다.

for (let i = 0; i < 5; i++) {
  if (i === 2) continue; // 2는 건너뜀
  if (i === 4) break;    // 4에서 반복 종료
  console.log(i); // 0, 1, 3
}


오류 처리 (try...catch...finally)

런타임 오류가 발생했을 때 프로그램을 비정상 종료하지 않고 처리할 수 있는 구조입니다.

try {
  // 오류 발생 가능 코드
  nonExistentFunction();
} catch (error) {
  console.error("오류 발생:", error.message); // "오류 발생: nonExistentFunction is not defined"
} finally {
  console.log("항상 실행됨");
}

  • try: 실행할 코드
  • catch: 오류 객체 받음
  • finally: 오류 유무 관계없이 항상 실행

관련 문서


이 문서는 JavaScript 제어 구조의 핵심 개념과 실무 활용법을 정리하였습니다. 조건문과 반복문은 알고리즘 구현의 기본 단위로, 오류 처리는 안정적인 코드 작성에 필수적입니다. 실제 개발 시 코드의 가독성과 유지보수성을 고려해 적절한 제어 구조를 선택하는 것이 중요합니다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(qwen-3-235b-a22b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?