프로그램 언어/JavaScript

[J.S] 6. 조건문 다루기

알케이88 2025. 8. 12. 13:03


6.0 조건문이란?

프로그램의 흐름을 조건에 따라 분기시키는 구문

특정 조건을 검사하여 그 결과에 따라 다르게 실행되는 코드를 작성

 

6.1 if, else, else if문

6.1.1 if 문

if 뒤에 오는 소괄호 안의 조건식이 참일 시 중괄호 안의 코드를 실행하는 조건문

숫자, 문자열, undefined, null을 사용하더라도 무조건 참 혹은 거짓으로 평가

 

형식

if (조건식) {
  // 조건이 참일 때 실행되는 코드
}

 

예제

 
let num = 10;
if (num > 5) {
  console.log("num은 5보다 큽니다.");  // 조건이 참일 때 실행
}

6.1.2 else 문

if 문이 참이 아닐 때 다음 조건식인 else 내부 코드가 실행되는 블록문

else문은 if 문 없이 단독으로 사용이 불가하며 

하나의 if 문에는 하나의 else 문만 사용이 가능.

 

형식

if (조건식) {
  // 조건이 참일 때 실행
} else {
  // 조건이 거짓일 때 실행
}

 

예제

let num = 3;
if (num > 5) {
  console.log("num은 5보다 큽니다.");
} else {
  console.log("num은 5보다 크지 않습니다.");  // 조건이 거짓일 때 실행
}

 

6.1.3 else if 문

if 문에 조건을 추가하고 싶을 때 사용

else if 문의 개수는 제한이 없음

else와 마찬가지로 단독으로 사용이 불가. 

if문다음에 사용 후 마지막에 else문 하나를 사용

 

형식

if (조건식1) {
  // 조건1이 참일 때
} else if (조건식2) {
  // 조건2가 참일 때
} else {
  // 위 조건들이 모두 거짓일 때
}

 

예제

let num = 5;
if (num > 5) {
  console.log("num은 5보다 큽니다.");
} else if (num === 5) {
  console.log("num은 5입니다.");  // 두 번째 조건이 참일 때 실행
} else {
  console.log("num은 5보다 작습니다.");  // 위 조건 모두 거짓일 때 실행
}

 

6.1.4 중첩하기

분기처리: 어떤 조건식이 만족할 때 어떤 블록문을 실행할지 결정하는 것

코드의 분기 처리에 따라 중첩하여 사용이 가능.

횟수는 제한이 없음

if, else if, else에 if 문을 중첩하여 더 복잡한 조건 처리가 가 

형식

if (조건1) {
  if (조건2) {
    // 조건1과 조건2 모두 참일 때 실행
  } else {
    // 조건1은 참, 조건2는 거짓일 때 실행
  }
} else {
  // 조건1이 거짓일 때 실행
}

 

예제 

let num = 10;
if (num > 0) {
  if (num % 2 === 0) {
    console.log("양수이면서 짝수입니다.");  // 두 조건 모두 참일 때 실행
  } else {
    console.log("양수이지만 홀수입니다.");  // 첫 번째 조건 참, 두 번째 조건 거짓
  }
} else {
  console.log("0 또는 음수입니다.");  // 첫 번째 조건 거짓일 때 실행
}

6.2 switch 문

switch 뒤에 오는 소괄호 안의 값과 일치하는 case문이 있을 때 해당 코드를 실행하는 조건문

일치 여부 확인은 일치 연산자(===)를 사용하여 값과 자료형을 함께 비교

switch 문에는 하나 이상의 csae 문과 defautl 문, break 문을 함께 사용

 

형식

switch (표현식) {
  case 값1:
    // 표현식 === 값1 일 때 실행
    break;
  case 값2:
    // 표현식 === 값2 일 때 실행
    break;
  default:
    // 어느 case도 해당하지 않을 때 실행
}

 

예제 

let fruit = "apple";
switch (fruit) {
  case "banana":
    console.log("바나나입니다.");
    break;
  case "apple":
    console.log("사과입니다.");  // fruit이 "apple" 일 때 실행
    break;
  default:
    console.log("알 수 없는 과일입니다.");  // 모든 case에 해당하지 않을 때 실행
}

defalut 문은 생략이 가능하나, switch 문에는 case 혹은 default 문이 한 개 이상은 있어야 함

 

6.3 if 문과 조건식

if문은 조건에 식을 사용

논리 연산자 혹은 비교연산자를 식에 이용이 가능

조건 식에는 boolean 값이나 boolean으로 평가가 가능한 표현식 사용

자바스크립트는 조건식을 평가할 때 true 값과 false 값으로 구분

let value = "";

if (value) {
  console.log("Truthy 값입니다.");
} else {
  console.log("Falsy 값입니다.");  // 빈 문자열은 falsy
}
falsy 값 예시 설명
false 불리언 거짓
0 숫자 0
"" (빈 문자열) 빈 문자열
null 널 값
undefined 정의되지 않은 값
NaN 숫자가 아님(Not a Number)

이외 나머지는 모두 truthy로 간주

6.4 if 문 VS switch 문

구분 if 문 switch문
사용 목적 복잡하고 다양한 조건 분기 하나의 변수(값)를 여러 경우로 분기
조건식 형식 어떤 표현식도 사용 가능 표현식 결과와 case 값 비교
가독성 조건이 많으면 복잡해질 수 있음 많은 값 비교 시 가독성이 좋음
특징 자유로운 조건 표현 가능 일치하는 값 찾는 데 최적화
// if 문 예제
let day = 3;
if (day === 1) {
  console.log("월요일");
} else if (day === 2) {
  console.log("화요일");
} else {
  console.log("기타");
}

// switch 문 예제
switch (day) {
  case 1:
    console.log("월요일");
    break;
  case 2:
    console.log("화요일");
    break;
  default:
    console.log("기타");
}

 

 

 

*해당 문서는 김기수 님께서 작성하신 HTML+CSS+자바스크립트 책을 읽고 이해한 대로 자바스크립트를 요약한 정리입니다. 

본 문서는 상업적인 목적으로 사용이 불가능 함을 고지합니다. (개인 공부를 남기기 위한 목적임을 명백히 고지합니다.)

 

'프로그램 언어 > JavaScript' 카테고리의 다른 글

[J.S] 8. 함수란?  (5) 2025.08.13
[J.S] 7. 반복문 다루기  (14) 2025.08.12
[J.S] 5. 연산자  (7) 2025.08.12
[J.S] 4. 자료형  (9) 2025.08.08
[J.S] 3. 변수와 상수  (10) 2025.08.07