JavaScript for LWC

Conditional Statements (if/else, switch)


Conditional statements are a fundamental concept in programming that allow you to make decisions based on certain conditions. In Lightning Web Components (LWC), you can use conditional statements to control the flow of your code and execute different actions depending on whether a condition is true or false. This is particularly useful when you want your component to respond differently to different scenarios. Two common types of conditional statements are the if/else statement and the switch statement. Let's explore these concepts with beginner-friendly explanations and examples.


if/else Statement

The if/else statement allows you to execute a block of code if a certain condition is true, and another block of code if the condition is false.

Syntax of the if/else Statement

if (condition) {
    // Code to execute if the condition is true
} else {
    // Code to execute if the condition is false
}

Example: Using if/else Statement in LWC

Suppose we want to display a message based on a user's age.

// JS File - conditionalStatementsExample.js
import { LightningElement, track } from 'lwc';

export default class ConditionalStatementsExample extends LightningElement {
    @track userAge = 18;

    get ageMessage() {
        if (this.userAge >= 18) {
            return 'You are an adult.';
        } else {
            return 'You are a minor.';
        }
    }
}




Explanation:

1. We define a property called "userAge" using the `@track` decorator. In this example, we set it to 18.
2. The "ageMessage" getter method uses an if/else statement to decide whether the user is an adult or a minor based on their age.
3. The corresponding message is displayed in the HTML template.


switch Statement

The switch statement allows you to compare a single value against multiple possible case values and execute code based on a match.

Syntax of the switch Statement:

switch (expression) {
    case value1:
        // Code to execute if expression matches value1
        break;
    case value2:
        // Code to execute if expression matches value2
        break;
    // ...
    default:
        // Code to execute if no cases match
}

Example: Using switch Statement in LWC

Let's say we want to show a message based on the day of the week.

// JS File - conditionalStatementsExample.js
import { LightningElement } from 'lwc';

export default class ConditionalStatementsExample extends LightningElement {
    currentDay = 'Monday';

    get dayMessage() {
        let message;
        switch (this.currentDay) {
            case 'Monday':
                message = 'Start of the week';
                break;
            case 'Friday':
                message = 'Almost there!';
                break;
            case 'Saturday':
            case 'Sunday':
                message = 'Weekend!';
                break;
            default:
                message = 'Regular weekday';
        }
        return `Today is ${this.currentDay}. ${message}`;
    }
}




Explanation:

1. We create a property named "currentDay" to hold the day of the week.
2. The "dayMessage" getter method uses a switch statement to determine the appropriate message based on the current day.
3. Different cases are defined for various days, and a default case is provided for days not covered by other cases.
4. The message is displayed in the HTML template.


Summary

Conditional statements, including if/else and switch, are essential tools in Lightning Web Components for making decisions and controlling the behavior of your components. They allow you to respond dynamically to different scenarios based on conditions you define. By understanding and effectively using these conditional statements, you can create more interactive and responsive LWC components that cater to various user interactions and scenarios.