7️⃣ 🔁 TypeScript Control Flow & Decision Making
Estimated reading: 4 minutes 58 views

🔁 TypeScript — If Else Statement: Control Flow with Type Safety

🧲 Introduction – What Is the If Else Statement in TypeScript?

In TypeScript, the if…else statement is a core part of control flow that allows you to execute code based on conditions. Just like in JavaScript, it evaluates a Boolean expression and runs one block of code if the condition is true, and another block if it’s false. TypeScript builds on this by introducing type narrowing, enabling smarter and safer conditional logic.

🎯 In this guide, you’ll learn:

  • The syntax of if, else if, and else statements
  • How TypeScript uses type narrowing within if blocks
  • Common use cases and best practices
  • Real-world examples and FAQs

✅ Basic Syntax of If Else Statement

The if...else structure is used to run different code depending on whether a condition is met.

✅ Syntax:

if (condition) {
  // executes if condition is true
} else {
  // executes if condition is false
}

✅ Example:

let isLoggedIn: boolean = true;

if (isLoggedIn) {
  console.log("Welcome back!");
} else {
  console.log("Please log in.");
}

📌 This prints “Welcome back!” because the condition evaluates to true.


🧠 Using if...else if for Multiple Conditions

When you need to evaluate more than two conditions, use else if blocks between if and else.

Example:

let score: number = 85;

if (score >= 90) {
  console.log("Grade: A");
} else if (score >= 80) {
  console.log("Grade: B");
} else if (score >= 70) {
  console.log("Grade: C");
} else {
  console.log("Grade: F");
}

🧠 The first condition that evaluates to true is executed, and the rest are ignored.


🧩 Type Narrowing with If Else Statements

TypeScript uses control flow analysis to narrow variable types based on conditions.

Example with Union Types:

function process(input: string | number) {
  if (typeof input === "string") {
    console.log("String length:", input.length); // input is a string here
  } else {
    console.log("Fixed number:", input.toFixed(2)); // input is a number here
  }
}

✅ This improves safety by allowing only type-specific operations within each block.


📦 If Else with Optional Values

When dealing with optional parameters or potentially undefined variables, if...else can help manage logic safely.

function greet(user?: string) {
  if (user) {
    console.log(`Hello, ${user}`);
  } else {
    console.log("Hello, guest");
  }
}

📌 The condition handles both defined and undefined values appropriately.


🔄 Using Logical Operators in If Else Conditions

✅ Logical AND (&&):

if (user && user.isAdmin) {
  console.log("Access granted to admin panel");
} else {
  console.log("Access denied");
}

✅ Logical OR (||):

if (role === "editor" || role === "admin") {
  console.log("You can publish content");
}

🧠 Real-World Use Cases

  • ✅ User authentication and access control
  • ✅ Input validation in forms
  • ✅ Conditional rendering in UI components
  • ✅ API response handling
  • ✅ Grading systems or scoring logic

⚠️ Common Mistakes to Avoid

❌ Mistake✅ Correction
Using = instead of ===Use === for strict equality comparisons
Skipping else when neededAlways handle alternative paths if applicable
Overusing nested if blocksUse else if or guard clauses for better readability
Ignoring type checks on unionsUse typeof, instanceof, or custom type guards

💡 Best Practices for If Else in TypeScript

  • ✅ Use strict equality (===) for type-safe comparisons
  • ✅ Always handle edge cases explicitly
  • ✅ Keep condition blocks short and focused
  • ✅ Use early returns to reduce deeply nested if...else chains
  • ✅ Combine if...else with TypeScript type guards for better reliability

📌 Summary – Recap & Key Takeaways

The if...else statement in TypeScript allows you to control how your program reacts to different conditions, while leveraging TypeScript’s type system for safer and smarter logic.

🔍 Key Points:

  • Use if...else to execute conditional logic
  • TypeScript performs type narrowing within if blocks
  • Use else if for multiple branching paths
  • Handle undefined or optional values gracefully
  • Combine with logical operators for advanced control

⚙️ Practical relevance: Essential for auth flows, conditional rendering, API handling, and type-safe branching logic.


❓ FAQs – TypeScript If Else Statement

❓ Is there a difference between if...else in TypeScript and JavaScript?
📌 No difference in behavior, but TypeScript adds type safety and narrowing.

❓ Can if blocks help with narrowing union types?
✅ Yes. Conditions like typeof, instanceof, or property checks narrow types automatically.

❓ Should I always use else after if?
❌ Not always. Use else when an alternate code path must be executed.

❓ What’s the best way to write clean if...else logic?
Use early returns, type guards, and avoid deep nesting.

❓ Can I chain multiple else if statements?
✅ Yes, and it’s recommended for checking multiple exclusive conditions.


Share Now :

Leave a Reply

Your email address will not be published. Required fields are marked *

Share

TypeScript — If Else Statement

Or Copy Link

CONTENTS
Scroll to Top