zhaoJian의 기술 노트

IT 강좌 JavaScript 기초 041_조건 분기 if, else, switch

학습 / JavaScript 기초 약 2222자 · 6분 소요 - 조회

JavaScript의 조건문은 주로 if, else if, else, switch를 포함합니다.

if

if 문은 조건에 따라 특정 코드를 실행할지 여부를 판단하는 데 사용됩니다. if(...) 문의 괄호 안의 조건 표현식이 true이면 if 다음의 한 줄 문을 실행합니다. 여러 줄의 코드를 제어하고 싶다면 {}를 사용하여 문을 묶을 수 있습니다. 한 줄의 문만 있더라도 코드 가독성을 높이기 위해 if 문을 사용할 때마다 중괄호 {}로 코드 블록을 감싸는 것이 좋습니다. 조건 표현식이 false이면 실행되지 않습니다. if 다음의 조건 표현식이 불린 값이 아니면 먼저 불린 값으로 변환한 다음 연산합니다. 숫자 0, 빈 문자열 "", null, undefined, NaN은 모두 false로 변환됩니다. 다른 값은 true로 변환됩니다.

예제:

let age = 18;
if (age >= 18) console.log('성인');
if (age >= 18) {
console.log('성인');
}

if-else

if-else 문은 다른 조건에 따라 다른 코드 블록을 실행할 수 있습니다. 표현식의 값이 true이면 if 다음의 코드 블록을 실행하고, 그렇지 않으면 else 다음의 코드 블록을 실행합니다.

예제:

let age = 25;
if (age >= 18) {
console.log('성인');
} else {
console.log('미성년자');
}

else if

else if 문은 if-else 구조에서 사용되는 확장으로, 여러 조건을 추가하여 판단할 수 있습니다. else if 문은 위에서 아래로 순차적으로 if 다음의 조건 표현식을 평가하여 true 조건이 나타날 때까지 판단합니다. true 조건이 나타나면 그 다음 조건은 더 이상 평가되지 않으므로, 조건의 배열 순서를 합리적으로 설계하거나 논리 연산 조건을 추가해야 합니다.

예제:

let score = 95;
if (score >= 90) {
console.log('우수');
} else if (score >= 60) { //이 조건을 첫 번째로 정렬해 보고 결과가 어떻게 되는지 확인해 보세요.
console.log('합격');
} else {
console.log('불합격');
}

switch

switch 문은 여러 if 판단을 대체할 수 있으며, 표현식의 값에 따라 다중 분기 선택을 수행합니다. switch 문을 실행할 때 switch 다음의 표현식과 case 다음의 표현식을 순차적으로 엄격히 동등하게 비교합니다. 비교 결과가 true이면 switch 문은 해당 case 다음의 코드 블록을 실행하며, 가장 가까운 break 문을 만날 때까지 실행합니다(또는 switch 문 끝까지 실행합니다). 일치하는 case가 없으면 default 코드 블록을 실행합니다(default가 존재하는 경우).

예제:

let day = 7;
switch (day) {
case 1:
console.log('월요일');
break;
case 2:
console.log('화요일');
break;
case 6: //case 그룹화
case 7: //동일한 코드를 공유하는 여러 case 분기는 그룹화할 수 있습니다
console.log('주말');
break;
default:
console.log('기타');
}

break 종료(끝내기, 빠져나가기) 반복문

break는 현재의 반복문이나 switch 문을 종료(끝내기, 빠져나가기)하는 데 사용됩니다. break가 없으면 후속 case를 계속 실행합니다(즉, “관통” 현상 발생).

예제:

let day = 2;
switch (day) {
case 1:
console.log('월요일');
break;
case 2:
console.log('화요일');
// break가 없으면 다음 case를 계속 실행합니다
case 3:
console.log('수요일');
break;
default:
console.log('기타');
}
공유:

댓글