TypeScript - 중첩된 IF 문: 초보자 가이드
안녕하세요, 미래의 코딩 슈퍼스타 여러분! 오늘 우리는 TypeScript의 중첩된 IF 문의 흥미로운 세계로 빠져들어 보겠습니다. 프로그래밍에 새로운 사람이라고 걱정하지 마세요 - 이 모험을 통해 친절한 안내자로서 여러분을 안내할 것입니다. 수년간 수많은 학생들에게 해왔던 것처럼 말이죠. 그러니 좋아하는 음료를 한 잔 챙기고 편안하게 앉아, 함께 이 여정을 시작해 보세요!
중첩된 IF 문이란?
깊은 바다로 뛰어들기 전에, 기본 개념부터 시작해 보겠습니다. 상상해 보세요, 당신의 캐릭터가 여러 결정을 내려야 하는 비디오 게임을 하고 있다면. 각 결정은 다른 선택의 집합으로 이어집니다. 프로그래밍에서 중첩된 IF 문은 이와 같습니다 - 결정 속에 결정이 있습니다!
TypeScript(그리고 많은 다른 프로그래밍 언어들)에서 우리는 IF 문을 코드에서 결정을 내리는 데 사용합니다. 하나의 IF 문을 다른 IF 문 안에 넣을 때, 그것을 "중첩된 IF 문"이라고 부릅니다.
중첩된 IF 문을 사용하는 이유는 무엇인가요?
마음 속에 궁금증이 드는 것을 알고 있습니다. "왜 이러한 중첩된 결정이 필요한가요?" 그럼 이 작은 이야기를 들려드리겠습니다.
상상해 보세요, 커피숍을 위한 프로그램을 만들고 있다면. 고객에게 할인을 주고 싶지만, 두 가지 조건에 따라 달라집니다: 그들이 정기 고객인지 여부와 3잔 이상의 커피를 구매하는지 여부입니다. 중첩된 IF 문을 사용하여 두 가지 조건을 확인할 수 있습니다. "그들은 정기 고객인가요? 그렇다면, 3잔 이상의 커피를 구매하나요?"라고 물어보는 것과 같습니다.
이제 TypeScript에서 이를 어떻게 작성하는지 살펴보겠습니다!
중첩된 IF 문의 문법
여기 중첩된 IF 문의 기본 구조입니다:
if (condition1) {
// condition1이 참이면 실행할 코드
if (condition2) {
// condition1과 condition2가 모두 참이면 실행할 코드
}
}
이것이 무서워하지 마세요! 보기보다 간단합니다. 그럼 하나씩 풀어보겠습니다:
- 외부의
if
문은condition1
을 확인합니다. -
condition1
이 참이면 첫 번째 코드 블록으로 진입합니다. - 이 블록 내부에 또 다른
if
문이 있습니다.condition2
를 확인합니다. -
condition2
가도 참이면 가장 내부의 코드 블록을 실행합니다.
커피숍 할인 예제
커피숍 이야기를 코드로 실체화해 보겠습니다:
let isRegularCustomer: boolean = true;
let numberOfCoffees: number = 4;
if (isRegularCustomer) {
console.log("안녕하세요! 할인 적용 여부를 확인해 보겠습니다.");
if (numberOfCoffees > 3) {
console.log("좋은 소식! 주문에 20% 할인을 드립니다.");
} else {
console.log("한 잔 더 구매하시면 20% 할인을 드립니다!");
}
} else {
console.log("안녕하세요! 충성 고객 프로그램에 가입하시면 훌륭한 할인 혜택을 받을 수 있습니다.");
}
이 코드를 풀어보면 다음과 같습니다:
- 두 가지 변수를 선언합니다:
isRegularCustomer
와numberOfCoffees
. - 외부의
if
문은 고객이 정기 고객인지 확인합니다. - 그렇다면 환영 인사를 하고 내부의
if
문으로 이동합니다. - 내부의
if
문은 3잔 이상의 커피를 구매하는지 확인합니다. - 두 가지 조건이 모두 참이면 할인 메시지를 출력합니다.
- 정기 고객이지만 3잔 이하의 커피를 구매하는 경우, 추가 구매를 권장합니다.
- 정기 고객이 아닌 경우, 다른 환영 메시지를 출력합니다.
이 코드를 실행하면 두 가지 조건이 모두 참이므로 할인 메시지를 볼 수 있습니다!
Else...If 계단
이제 Else...If 계단을 사용하여 우리의 게임을 한 단계 더 업그레이드해 보겠습니다. 여러 가지 조건을 확인해야 할 때 매우 유용합니다.
Else...If 계단의 문법
이렇게 보입니다:
if (condition1) {
// condition1이 참이면 실행할 코드
} else if (condition2) {
// condition2가 참이면 실행할 코드
} else if (condition3) {
// condition3이 참이면 실행할 코드
} else {
// 모든 조건이 거짓이면 실행할 코드
}
커피 온도 선호도 예제
Else...If 계단을 사용하여 다양한 커피 온도 선호도를 처리해 보겠습니다:
let coffeeTemperature: number = 70; // 섭씨 온도
if (coffeeTemperature > 80) {
console.log("경고: 커피가 매우烫이니 조심하세요!");
} else if (coffeeTemperature >= 70) {
console.log("커피가 덥고 마실 준비가 되었습니다.");
} else if (coffeeTemperature >= 60) {
console.log("커피가 마음에 드는 따뜻한 온도입니다.");
} else if (coffeeTemperature >= 50) {
console.log("커피가 서서히 차가워지고 있습니다. 빨리 마시시는 것이 좋습니다.");
} else {
console.log("커피가 차가워졌습니다. 다시 데우시겠습니까?");
}
이 예제에서:
- 커피 온도를 다양한 임계값과 비교합니다.
- 온도에 따라 다른 메시지를 출력합니다.
- 모든 조건이 만족되지 않는 경우(온도가 50°C 이하), 커피가 차가워졌다는 메시지를 출력합니다.
이 구조를 사용하면 여러 가지 시나리오를 효율적으로 처리할 수 있습니다.
중첩된 IF 문의 최선의 관행
마무리하기 전에, 수년 동안 배운 몇 가지 금은 규칙을 공유하겠습니다:
-
간단하게 유지하세요: 너무 깊이 중첩하지 마세요. 3레벨 이상이 되면 코드를 개선하는 것을 고려하세요.
-
명확한 조건 사용: 코드를 이해하기 쉽게 만들세요.
if (isHungry && timeIsPastNoon)
보다if (a && b)
가 더 명확합니다. -
Switch 문 사용: 동일한 변수에 대해 여러 조건을 확인할 때 Switch 문이 더 명확할 수 있습니다.
-
早期반환 사용: 빠른 반환을 사용하여 코드를 간소화할 수 있습니다.
quick example of early returns:
function checkAge(age: number): string {
if (age < 0) {
return "Invalid age";
}
if (age < 18) {
return "You're a minor";
}
if (age < 65) {
return "You're an adult";
}
return "You're a senior citizen";
}
이는 중첩된 IF-ELSE 문보다 더 깨끗할 수 있습니다.
결론
축하합니다! 지금 TypeScript의 중첩된 IF 문과 Else...If 계단을 사용하여 실력을 한 단계 더 높였습니다. 이러한 도구는 프로그래밍 도구箱에서 매우 강력한 도구지만, 어떤 도구를 사용할 때는 신중하게 사용하세요.
이 개념을 연습하고, 다양한 조건을 실험해 보세요. 그러면 복잡한 결정 트리를 쉽게 만들 수 있을 것입니다. 누가 알겠습니까?도대체 다음 큰 비디오 게임이나 혁명적인 앱을 만들기 위해 이러한 기술을 사용할 수 있을지도 모릅니다!
계속 코딩하고, 배우고, 가장 중요한 것은 즐겁게 하세요! 다음에 다시 만날 때까지, 여러분의 친절한 이웃 코딩 선생님이 인사드립니다. 행복한 TypeScript 코딩을 기원합니다!
Credits: Image by storyset