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

🔍 TypeScript — If Statement: Build Reliable Conditional Logic with Type Safety

🧲 Introduction – Understanding the if Statement in TypeScript

The if statement is a foundational tool used to make decisions in your code. In TypeScript, it works just like in JavaScript but comes with an added advantage: type narrowing. This means TypeScript can smartly determine a variable’s type depending on conditions, helping you write more reliable and type-safe logic.

🎯 This article will teach you how to:

  • Use basic if, else, and else if structures
  • Leverage type narrowing in conditional blocks
  • Apply if statements with union types and guards
  • Avoid common mistakes in conditional logic

✅ Basic Structure of an if Statement

The if statement evaluates a condition. If it’s true, it runs a block of code. You can also add else or else if for additional conditions.

let temperature = 30;

if (temperature > 25) {
  console.log("It's warm outside.");
} else if (temperature < 10) {
  console.log("It's cold outside.");
} else {
  console.log("The weather is moderate.");
}

📌 This checks the temperature and prints a message accordingly.


🧠 Type Narrowing with if Conditions

One of TypeScript’s superpowers is its ability to refine types based on conditional checks.

Example:

function display(value: number | string) {
  if (typeof value === "string") {
    console.log("String length:", value.length); // Type narrowed to string
  } else {
    console.log("Number:", value.toFixed(2)); // Type narrowed to number
  }
}

Explanation: TypeScript detects the condition and narrows the type inside each block automatically.


💡 Checking Truthy and Falsy Values

Some values like false, 0, "", null, undefined, and NaN are considered falsy. Everything else is truthy.

Example:

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

📌 If no name is provided, it defaults to greeting a guest.


🔗 Combining Conditions with Logical Operators

You can use && (AND) and || (OR) for compound conditions.

Logical AND:

if (user && user.isVerified) {
  console.log("Welcome back!");
}

Logical OR:

if (role === "admin" || role === "moderator") {
  console.log("Access granted");
}

🔁 Nested if Statements

You can write one if inside another, but keep it readable.

if (account) {
  if (account.balance > 0) {
    console.log("You have available funds.");
  }
}

🧠 Tip: Use early returns or combine conditions to avoid deep nesting.


🧪 Real-World Applications

  • Validating user input: if (input.length === 0)
  • Role-based access: if (user.role === "admin")
  • API response checks: if (response.status === 200)
  • Conditional rendering in UI components
  • Safe object access with type checks

⚠️ Common Mistakes and Fixes

❌ Mistake✅ Solution
Using = instead of ===Use strict equality: === for value + type checks
Over-nesting conditionsUse guard clauses or combine conditions
Not handling all scenariosInclude else to handle default cases
Ignoring union type logicUse type guards like typeof or instanceof

💡 Best Practices

  • ✅ Use === and !== for strict equality
  • ✅ Narrow types using typeof, instanceof, or in
  • ✅ Handle all code paths—don’t skip default cases
  • ✅ Keep conditions short and readable
  • ✅ Use optional chaining or truthy checks when accessing deep properties

📌 Summary – Key Takeaways

The if statement in TypeScript offers both simple decision-making and advanced type-safe branching. It lets you write conditional logic that’s not only functional but also protected by the compiler.

🔍 Recap:

  • if, else if, and else guide the program flow based on conditions
  • TypeScript narrows types within conditional blocks automatically
  • Use logical operators to combine multiple checks
  • Always write clear and complete condition handling

⚙️ In action: Whether you’re building a UI or validating API responses, TypeScript’s if statement is your go-to tool for reliable logic.


❓ FAQs – TypeScript If Statement

❓ Does TypeScript enhance the if statement compared to JavaScript?
✅ Yes. It performs type narrowing based on your conditions.

❓ What is type narrowing?
It’s the ability to refine variable types based on logic—like checking typeof.

❓ Should I use == or ===?
Use === for both type and value checks. It’s more predictable.

❓ Can I combine multiple conditions in one if?
✅ Yes, using && and ||.

❓ Does if (variable) check for null and undefined?
📌 Yes. Falsy checks cover both null and undefined.


Share Now :

Leave a Reply

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

Share

TypeScript — If Statement

Or Copy Link

CONTENTS
Scroll to Top