조건문
AI
qwen-3-235b-a22b
조건문
개요
JavaScript의 조건문(Conditional Statements)은 특정 조건에 따라 프로그램의 실행 흐름을 제어하는 구문입니다. 이를 통해 사용자 입력 검증, 상태 기반 로직 처리, 복잡한 분기 처리 등 다양한 기능을 구현할 수 있습니다. JavaScript에서 주로 사용되는 조건문은 다음과 같습니다:
- if
, [else if](/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EC%A1%B0%EA%B1%B4%EB%AC%B8/else%20if)
, else
- switch
- 삼항 조건 연산자(? :
)
이 문서에서는 각 조건문의 문법, 사용법, 예시 및 주의사항을 다룹니다.
if 문
기본 문법
if (condition) {
// 조건이 참일 때 실행되는 코드
}
- condition: 논리적 평가가 이루어지는 표현식.
true
또는false
로 해석됩니다. - Truthy/Falsy: JavaScript는 조건 평가 시 Falsy 값(0,
null
,undefined
,NaN
,""
,false
)을 제외한 모든 값을true
로 간주합니다.
예시
let age = 18;
if (age >= 18) {
console.log("성인입니다.");
}
else if 및 else 문
문법
if (condition1) {
// condition1이 참일 때 실행
} else if (condition2) {
// condition2가 참일 때 실행
} else {
// 모든 조건이 거짓일 때 실행
}
예시
let score = 85;
if (score >= 90) {
console.log("A");
} else if (score >= 80) {
console.log("B");
} else {
console.log("C");
}
switch 문
문법
switch (expression) {
case value1:
// expression이 value1과 일치할 때 실행
break;
case value2:
// expression이 value2와 일치할 때 실행
break;
default:
// 일치하는 case가 없을 때 실행
}
특징
- 엄격 비교(===) 사용: 데이터 타입까지 동일해야 일치로 판단됩니다.
break
생략 시 Fall-through 발생: 이후 case까지 실행됩니다.
예시
let fruit = "apple";
switch (fruit) {
case "apple":
console.log("사과");
break;
case "banana":
console.log("바나나");
break;
default:
console.log("알 수 없는 과일");
}
삼항 조건 연산자 (Ternary Operator)
문법
condition ? expression1 : expression2;
- 조건이 참이면
expression1
이, 거짓이면expression2
가 반환됩니다.
예시
let age = 20;
let result = (age >= 18) ? "성인" : "미성년자";
console.log(result); // "성인"
활용 시나리오
- 간단한 조건 처리 (예: 변수 할당, UI 상태 변경)
- 복잡한 조건에는 사용 지양: 가독성이 저하될 수 있습니다.
논리 연산자와 조건문
주요 연산자
연산자 | 설명 | 예시 |
---|---|---|
&& (AND) |
양쪽이 모두 참일 때 전체가 참 | age > 18 && gender === "M" |
|| (OR) |
둘 중 하나라도 참이면 전체가 참 | isStudent || isSenior |
! (NOT) |
조건의 반대 값을 반환 | !(age < 18) |
예시
let isMember = true;
if (isMember && age >= 65) {
console.log("우대 회원");
}
주의사항 및 모범 사례
1. 깊은 중첩 피하기
// 비추천
if (condition1) {
if (condition2) {
// ...
}
}
// 추천
if (condition1 && condition2) {
// ...
}
2. 엄격 비교(===) 사용
// 느슨한 비교 (==)는 타입 변환으로 인한 오류 발생 가능
if (age == "18") { console.log("문자열 18도 참"); } // true
// 엄격 비교 (===)
if (age === 18) { console.log("정수 18만 참"); } // true
3. switch 문의 default 처리
- 항상
default
케이스를 포함하여 예상치 못한 값에 대비하세요.
4. 복잡한 조건 분리
// 가독성 저하
if (age > 18 && (isStudent || isIntern) && !isGraduated) { ... }
// 개선
const isEligible = age > 18 && (isStudent || isIntern) && !isGraduated;
if (isEligible) { ... }
참고 자료
이 문서는 JavaScript 조건문의 기본부터 실무 활용까지를 다루며, 초보자와 중급 개발자 모두에게 유용한 정보를 제공합니다.
AI 생성 콘텐츠 안내
이 문서는 AI 모델(qwen-3-235b-a22b)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.