Categories: JavaScript

JavaScript 조건문 if, else, else if 그리고 switch 문

자바스크립트 조건문이란?

자바스크립트 조건문은 특정 조건에 따라 코드를 실행하거나 분기하는 데 사용됩니다. 이 글에서는 주로 사용되는 조건문인 if, else, else if, 그리고 switch 문에 대해 알아보겠습니다.

조건문 종류

if 문

if 문은 특정 조건이 참(true)이면 코드 블록을 실행하는 가장 기본적인 조건문입니다.

JavaScript
if (조건) {
  // 조건이 참일 때 실행되는 코드
}
JavaScript
  • 조건은 평가되어 참 또는 거짓이 되는 표현식이나 값입니다.
  • 소괄호 () 안에 조건이 참인 경우, 중괄호 {} 안에 있는 코드 블록이 실행됩니다.
  • 조건이 거짓이면 코드 블록은 무시되고 다음 코드로 진행됩니다.

else 문

else 문은 if 문의 조건이 거짓(false)이면 코드 블록을 실행하는 조건문입니다.

JavaScript
if (조건) {
  // 조건이 참일 때 실행되는 코드
} else {
  // 조건이 거짓일 때 실행되는 코드
}
JavaScript
  • if 문의 조건이 참이면 if 블록이 실행되고, 조건이 거짓이면 else 블록이 실행됩니다.
  • else 문은 if 문과 함께 사용되어 두 가지 경우에 대한 동작이 가능합니다.

else if 문

else if 문은 여러 개의 조건을 순차적으로 검사하고, 첫 번째로 참인 조건의 코드 블록을 실행하는 조건문입니다. else if 문은 if 문의 조건이 거짓일 때 추가적인 조건을 검사하여 다양한 상황에 대응할 수 있습니다.

JavaScript
if (조건1) {
  // 조건1이 참일 때 실행되는 코드
} else if (조건2) {
  // 조건2가 참일 때 실행되는 코드
} else {
  // 모든 조건이 거짓일 때 실행되는 코드
}
JavaScript
  • if 블록의 조건이 거짓일 경우 else if 블록의 조건을 검사합니다.
  • 여러 개의 else if 블록을 사용하여 여러 조건을 순차적으로 검사 할 수 있습니다.
  • 각 else if 블록의 조건이 참이면 해당 블록의 코드가 실행되고, 그 이후의 else if 블록은 무시됩니다.
  • 모든 조건이 거짓이면 마지막의 else 블록의 코드가 실행됩니다.

switch 문

switch 문은 변수의 값을 여러 경우(case)와 비교하고, 해당하는 경우에 따라 코드를 실행합니다.

JavaScript
switch (변수) {
    case 값1:
        // 값1에 대한 코드
        break;
    case 값2:
        // 값2에 대한 코드
        break;
    default:
        // 모든 경우에 맞지 않을 때 실행되는 코드
}
JavaScript
  • 변수의 값이 각 case 의 값과 일치할 때, 해당 case 아래에 있는 코드 블록이 실행됩니다.
  • break 키워드를 사용하여 각 case 의 실행이 종료됨을 명시합니다. 이를 통해 다음 case 로 넘어가지 않고 switch 문을 빠져나갑니다.
  • default 는 어떤 case 에도 일치하지 않을 때 실행되는 옵션입니다. 선택적으로 사용 가능하며, 생략할 수 있습니다.

조건문 예제

if 문 예제

JavaScript
let x = 10;

if (x > 5) {
    console.log("x는 5보다 큽니다.");
}
JavaScript
  • 변수 x 가 5보다 큰지 확인하고, 참 이면 조건문이 실행 되고, 거짓 이면 조건문이 실행 되지 않습니다.

else 문 예제

JavaScript
let age = 20;

if (age >= 18) {
  console.log("성인입니다.");
} else {
  console.log("미성년자입니다.");
}
JavaScript
  • 위의 예시에서 age 변수의 값이 18 이상이면 “성인입니다.” 가 출력 되고, 그렇지 않으면 “미성년자입니다.” 가 출력 됩니다.

else if 문 예제

JavaScript
let score = 75;

if (score >= 90) {
  console.log("A 학점");
} else if (score >= 80) {
  console.log("B 학점");
} else if (score >= 70) {
  console.log("C 학점");
} else {
  console.log("D 학점");
}
JavaScript
  • 위의 예시에서 score 변수의 값에 따라 학점을 출력합니다. else if 문을 사용하여 여러 조건을 검사하고, 첫 번째로 참인 조건에 해당하는 코드 블록이 실행됩니다.

switch 문 예제

JavaScript
let fruit = "수박";

switch (fruit) {
    case "사과":
        console.log("사과 입니다.");
        break;
    case "바나나":
        console.log("바나나 입니다.");
        break;
    case "딸기":
        console.log("딸기 입니다.");
        break;
    case "수박":
        console.log("수박 입니다.");
        break;
    default:
        console.log("알 수 없는 과일입니다.");
}
JavaScript
  • switch 문은 fruit 변수의 값에 따라 다른 과일에 대한 설명을 출력합니다.
  • 조건에 맞는 case 가 나오게 되면 해당 case 의 값을 출력하고, break 키워드를 만나 다음 case 로 넘어가지 않고 switch 문을 빠져 나옵니다.
  • break 키워드를 사용하여 각 case 의 실행이 종료됨을 명시하는 것이 중요합니다.
  • 이를 통해 다음 case 로 넘어가지 않고 switch 문을 빠져나갑니다.
  • 만약 어떤 case 와도 맞지 않는다면 default 블록이 실행되어 “알 수 없는 과일입니다.” 를 출력합니다.

결론

자바스크립트의 조건문은 특정 상황에 대한 코드 실행을 제어하고, 다양한 조건에 따라 분기 할 때 유용하게 사용됩니다. if, else, else if, switch 를 적절히 활용하여 코드를 작성하면 다양한 상황에 대응할 수 있습니다. 각 조건문의 사용법을 잘 이해하고 상황에 맞게 사용하는 것이 중요하겠습니다.

suover

Recent Posts

웹 서버(Web Server)와 WAS(Web Application Server) 알아보기

서론 현대 웹 애플리케이션 아키텍처에서 웹 서버(Web Server) 와 웹 애플리케이션 서버(WAS, Web Application Server)…

1개월 ago

HTTP 헤더(Header)란 무엇인가?

HTTP 헤더(Header)란? HTTP(Header)는 클라이언트와 서버 간에 교환되는 메타데이터로, 요청(Request)과 응답(Response)에 부가적인 정보를 실어 나르는 역할을…

1개월 ago

인프런 워밍업 클럽 스터디 3기 – 백엔드 클린 코드, 테스트 코드 후기

Readable Code: 읽기 좋은 코드를 작성하는 사고법Practical Testing: 실용적인 테스트 가이드 강의와 함께한 인프런 워밍업 클럽…

2개월 ago

인프런 워밍업 클럽 스터디 3기 – 백엔드 클린 코드, 테스트 코드 4주차 회고

Readable Code: 읽기 좋은 코드를 작성하는 사고법Practical Testing: 실용적인 테스트 가이드 강의와 함께한 인프런 워밍업 클럽…

2개월 ago

실용적인 테스트 가이드: @Mock, @MockBean, @Spy, @SpyBean, @InjectMocks

테스트 시 의존성 주입(Dependency Injection)과 Mockito Spring 애플리케이션을 개발하다 보면, 테스트 코드에서 실제 빈(Bean)을 사용하지…

2개월 ago

실용적인 테스트 가이드: Layered Architecture 레이어드 아키텍처

들어가며 스프링 기반 프로젝트에서 좋은 설계 구조와 테스트 전략은 소프트웨어 품질과 유지보수성에 직결됩니다. 최근 학습한…

2개월 ago