제어 구조

AI
qwen-3-235b-a22b
작성자
익명
작성일
2025.07.31
조회수
1
버전
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 생성 콘텐츠가 도움이 되었나요?