JavaScript/조건문과 반복문

JavaScript 조건문 완전 가이드 - if, else, switch 마스터하기

코딩하는 패션이과생 2025. 6. 6. 20:06
반응형

조건문이란?

조건문은 특정 조건에 따라 다른 코드를 실행하는 JavaScript의 제어문입니다. 조건식의 결과가 true(참) 또는 false(거짓)에 따라 실행할 코드를 결정합니다. JavaScript에서는 0, "", null, undefined, NaN, false를 제외한 모든 값을 true로 인식합니다.


조건문 if문

if문은 조건식의 결과에 따라 중괄호 { }로 묶어놓은 블록이 실행여부가 결정되는 조건문입니다. 조건식에는 true 또는 false값을 산출할 수 있는 연산식이나 boolean변수가 올 수 있습니다. 조건식이 true면 블록을 실행하고 false면 블록을 실행하지 않습니다.

if문 문법

// 문법
if (조건식) {
    실행문....
}

// 사용법
if (true) {
    console.log("if문 예제");
}

만약 조건식이 true가 될때 실행해야 할 문장이 하나밖에 없다면 중괄호 {}를 아래와 같이 생략할 수도 있습니다.

// 중괄호 {} 생략
if (true)
    console.log("if문 예제");

if문 예제

let grade = 'A';
let score = 80;

if (grade === 'A' && score >= 80) {
    console.log("A타입 시험에 합격하셨습니다.");
}
console.log("수고하셨습니다.");

실행 결과:

A타입 시험에 합격하셨습니다.
수고하셨습니다.

grade변수의 값이 'A'이고 score변수의 값이 80이므로 조건식 grade === 'A' && score >= 80이 true가 됩니다. 따라서 중괄호 블록의 실행문이 실행되어 'A타입 시험에 합격하셨습니다.'라는 문구가 출력된 뒤 if문을 빠져나와 '수고하셨습니다.'라는 문구를 출력하여 위와같은 결과가 나오게됩니다.


if-else문

if-else문은 if문의 조건식의 결과에 따라 조건식이 true이면 if문의 블록이 실행되고 조건식이 false이면 else문이 실행되는 조건문입니다.

if-else문 문법

// 문법
if (조건식) {
    조건식이 참(true)일때 실행될 실행문....
} else {
    조건식이 거짓(false)일때 실행될 실행문....
}

// 사용법
if (false) {
    console.log("조건식 == 참");
} else {
    console.log("조건식 == 거짓");
}

if-else문 예제

let grade = 'A';
let score = 70;

if (grade === 'A' && score >= 80) {
    console.log("A타입 시험에 합격하셨습니다.");
} else {
    console.log("A타입 시험에 불합격하셨습니다.");
}
console.log("수고하셨습니다.");

실행 결과:

A타입 시험에 불합격하셨습니다.
수고하셨습니다.

score변수의 값이 70이므로 grade값과 상관없이 조건식 grade === 'A' && score >= 80이 false가 됩니다. 따라서 else의 실행문이 실행되어 'A타입 시험에 불합격하셨습니다.'라는 문구가 출력된 뒤 if문을 빠져나와 '수고하셨습니다.'라는 문구를 출력하여 위와같은 결과가 나오게됩니다.


if-else if-else문

조건문이 여러개인 if문도 있습니다. 여러개의 if문을 합쳐놓았다고 생각하시면 편해요. if문 { } 중괄호 블록 끝에 else if를 붙이면 됩니다. else if문의 수에는 제한이 없으며 여러개의 조건문을 위에서부터 읽어나가 가장먼저 true가 되는 블록만 실행하고 if문을 빠져나가게되며 모든 실행조건이 맞지않는경우 else문을 실행합니다.

if-else if-else문 문법

// 문법
if (조건식1) {
    조건식1이 참(true)일때 실행될 실행문....
} else if (조건식2) {
    조건식2이 참(true)일때 실행될 실행문....
} else {
    조건식이 모두 거짓(false)일때 실행될 실행문....
}

// 사용법
if (true) {
    console.log("조건식1 == 참");
} else if (false) {
    console.log("조건식2 == 참");
} else {
    console.log("조건식 == 거짓");
}

if-else if-else문 예제

let score = 70;

if (score >= 90) {
    console.log("A등급입니다.");
} else if (score >= 80) {
    console.log("B등급입니다.");
} else if (score >= 70) {
    console.log("C등급입니다.");
} else if (score >= 60) {
    console.log("D등급입니다.");
} else {
    console.log("F등급입니다.");
}
console.log("수고하셨습니다.");

실행 결과:

C등급입니다.
수고하셨습니다.

score변수의 값이 70이므로 3번째 조건식인 score >= 70에 만족하여 'C등급입니다.'라는 문구를 출력한 후 if문을 완전히 빠져나와 '수고하셨습니다.'라는 문구를 찍어 위와같은 결과가 나오게됩니다.


switch문

switch문은 변수의 값에 따라 여러 개의 실행문 중 하나를 선택하여 실행하는 조건문입니다. if-else if문보다 코드가 간결하고 가독성이 좋아 많은 조건을 처리할 때 유용합니다. 각 case마다 break문을 사용하여 해당 case 실행 후 switch문을 빠져나가도록 해야 합니다.

switch문 문법

// 문법
switch (변수) {
    case 값1:
        실행문1....
        break;
    case 값2:
        실행문2....
        break;
    default:
        기본 실행문....
}

// 사용법
let day = 1;
switch (day) {
    case 1:
        console.log("월요일");
        break;
    case 2:
        console.log("화요일");
        break;
    default:
        console.log("기타");
}

switch문 예제

let grade = 'B';

switch (grade) {
    case 'A':
        console.log("90점 이상입니다.");
        break;
    case 'B':
        console.log("80점 이상입니다.");
        break;
    case 'C':
        console.log("70점 이상입니다.");
        break;
    case 'D':
        console.log("60점 이상입니다.");
        break;
    default:
        console.log("60점 미만입니다.");
}
console.log("성적 확인이 완료되었습니다.");

실행 결과:

80점 이상입니다.
성적 확인이 완료되었습니다.

grade변수의 값이 'B'이므로 case 'B'에 해당하는 실행문이 실행되어 '80점 이상입니다.'가 출력되고 break문에 의해 switch문을 빠져나와 '성적 확인이 완료되었습니다.'가 출력됩니다.

break문을 사용하지 않은 경우

let grade = 'B';

switch (grade) {
    case 'A':
        console.log("90점 이상입니다.");
    case 'B':
        console.log("80점 이상입니다.");
    case 'C':
        console.log("70점 이상입니다.");
    default:
        console.log("등급 확인 완료");
}

실행 결과:

80점 이상입니다.
70점 이상입니다.
등급 확인 완료

break문이 없으면 해당 case부터 아래의 모든 case가 실행됩니다. 이를 fall-through라고 하며, 때로는 의도적으로 사용하기도 합니다.

여러 case를 묶어서 처리하는 예제

let month = 12;

switch (month) {
    case 12:
    case 1:
    case 2:
        console.log("겨울입니다.");
        break;
    case 3:
    case 4:
    case 5:
        console.log("봄입니다.");
        break;
    case 6:
    case 7:
    case 8:
        console.log("여름입니다.");
        break;
    case 9:
    case 10:
    case 11:
        console.log("가을입니다.");
        break;
    default:
        console.log("올바른 월을 입력해주세요.");
}

실행 결과:

겨울입니다.

month변수의 값이 12이므로 case 12에 해당하지만 break문이 없어 case 1, case 2를 거쳐 '겨울입니다.'가 출력되고 break문을 만나 switch문을 빠져나갑니다.


마무리

JavaScript의 조건문은 프로그램의 흐름을 제어하는 핵심 요소입니다.

  • if문: 단순한 조건 판단
  • if-else문: 두 가지 경우로 나누어 처리
  • if-else if-else문: 여러 조건을 순차적으로 검사
  • switch문: 하나의 변수 값에 따른 다중 분기

각 조건문의 특성을 이해하고 상황에 맞게 적절히 선택하여 사용하면 더욱 효율적이고 읽기 쉬운 코드를 작성할 수 있습니다. 특히 break문의 사용과 조건식 작성에 주의하여 의도한 대로 프로그램이 동작하도록 해야 합니다.