TypeScript - 중첩된 IF 문: 초보자 가이드

안녕하세요, 미래의 코딩 슈퍼스타 여러분! 오늘 우리는 TypeScript의 중첩된 IF 문의 흥미로운 세계로 빠져들어 보겠습니다. 프로그래밍에 새로운 사람이라고 걱정하지 마세요 - 이 모험을 통해 친절한 안내자로서 여러분을 안내할 것입니다. 수년간 수많은 학생들에게 해왔던 것처럼 말이죠. 그러니 좋아하는 음료를 한 잔 챙기고 편안하게 앉아, 함께 이 여정을 시작해 보세요!

TypeScript - Nested If Statements

중첩된 IF 문이란?

깊은 바다로 뛰어들기 전에, 기본 개념부터 시작해 보겠습니다. 상상해 보세요, 당신의 캐릭터가 여러 결정을 내려야 하는 비디오 게임을 하고 있다면. 각 결정은 다른 선택의 집합으로 이어집니다. 프로그래밍에서 중첩된 IF 문은 이와 같습니다 - 결정 속에 결정이 있습니다!

TypeScript(그리고 많은 다른 프로그래밍 언어들)에서 우리는 IF 문을 코드에서 결정을 내리는 데 사용합니다. 하나의 IF 문을 다른 IF 문 안에 넣을 때, 그것을 "중첩된 IF 문"이라고 부릅니다.

중첩된 IF 문을 사용하는 이유는 무엇인가요?

마음 속에 궁금증이 드는 것을 알고 있습니다. "왜 이러한 중첩된 결정이 필요한가요?" 그럼 이 작은 이야기를 들려드리겠습니다.

상상해 보세요, 커피숍을 위한 프로그램을 만들고 있다면. 고객에게 할인을 주고 싶지만, 두 가지 조건에 따라 달라집니다: 그들이 정기 고객인지 여부와 3잔 이상의 커피를 구매하는지 여부입니다. 중첩된 IF 문을 사용하여 두 가지 조건을 확인할 수 있습니다. "그들은 정기 고객인가요? 그렇다면, 3잔 이상의 커피를 구매하나요?"라고 물어보는 것과 같습니다.

이제 TypeScript에서 이를 어떻게 작성하는지 살펴보겠습니다!

중첩된 IF 문의 문법

여기 중첩된 IF 문의 기본 구조입니다:

if (condition1) {
// condition1이 참이면 실행할 코드
if (condition2) {
// condition1과 condition2가 모두 참이면 실행할 코드
}
}

이것이 무서워하지 마세요! 보기보다 간단합니다. 그럼 하나씩 풀어보겠습니다:

  1. 외부의 if 문은 condition1을 확인합니다.
  2. condition1이 참이면 첫 번째 코드 블록으로 진입합니다.
  3. 이 블록 내부에 또 다른 if 문이 있습니다. condition2를 확인합니다.
  4. 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("안녕하세요! 충성 고객 프로그램에 가입하시면 훌륭한 할인 혜택을 받을 수 있습니다.");
}

이 코드를 풀어보면 다음과 같습니다:

  1. 두 가지 변수를 선언합니다: isRegularCustomernumberOfCoffees.
  2. 외부의 if 문은 고객이 정기 고객인지 확인합니다.
  3. 그렇다면 환영 인사를 하고 내부의 if 문으로 이동합니다.
  4. 내부의 if 문은 3잔 이상의 커피를 구매하는지 확인합니다.
  5. 두 가지 조건이 모두 참이면 할인 메시지를 출력합니다.
  6. 정기 고객이지만 3잔 이하의 커피를 구매하는 경우, 추가 구매를 권장합니다.
  7. 정기 고객이 아닌 경우, 다른 환영 메시지를 출력합니다.

이 코드를 실행하면 두 가지 조건이 모두 참이므로 할인 메시지를 볼 수 있습니다!

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("커피가 차가워졌습니다. 다시 데우시겠습니까?");
}

이 예제에서:

  1. 커피 온도를 다양한 임계값과 비교합니다.
  2. 온도에 따라 다른 메시지를 출력합니다.
  3. 모든 조건이 만족되지 않는 경우(온도가 50°C 이하), 커피가 차가워졌다는 메시지를 출력합니다.

이 구조를 사용하면 여러 가지 시나리오를 효율적으로 처리할 수 있습니다.

중첩된 IF 문의 최선의 관행

마무리하기 전에, 수년 동안 배운 몇 가지 금은 규칙을 공유하겠습니다:

  1. 간단하게 유지하세요: 너무 깊이 중첩하지 마세요. 3레벨 이상이 되면 코드를 개선하는 것을 고려하세요.

  2. 명확한 조건 사용: 코드를 이해하기 쉽게 만들세요. if (isHungry && timeIsPastNoon)보다 if (a && b)가 더 명확합니다.

  3. Switch 문 사용: 동일한 변수에 대해 여러 조건을 확인할 때 Switch 문이 더 명확할 수 있습니다.

  4. 早期반환 사용: 빠른 반환을 사용하여 코드를 간소화할 수 있습니다.

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