Exercise 4: Order Status Message (real-world)

Problem Statement

Create a function `statusMessage(status)`. Statuses: "pending" | "paid" | "shipped" | "delivered" | "cancelled" Default message: "Unknown status".

Sample Output:

statusMessage("pending") => "Order placed. Payment pending."
statusMessage("paid") => "Payment received. Preparing shipment."
statusMessage("delivered") => "Delivered. Enjoy!"

Solution

const statusMessage = (status) => {
  switch (status) {
    case 'pending': return 'Order placed. Payment pending.';
    case 'paid': return 'Payment received. Preparing shipment.';
    case 'shipped': return 'Shipped. Track your order.';
    case 'delivered': return 'Delivered. Enjoy!';
    case 'cancelled': return 'Order cancelled.';
    default: return 'Unknown status.';
  }
};

Explanation

Overall Goal:

  • Order status ke basis par appropriate message return karna.
  • Different statuses ke liye different messages.

Line 1: Function header

  • const statusMessage = (status) => { → function jo status string lega.

Line 2: Switch statement

  • switch (status) {status value ko check karega:
  • switch multiple if-else se cleaner hai jab same variable ko check karna ho.

Line 3-7: Case statements

  • case 'pending': return 'Order placed. Payment pending.';
  • Agar status === 'pending' → ye message return.
  • case 'paid': return 'Payment received. Preparing shipment.';
  • case 'shipped': return 'Shipped. Track your order.';
  • case 'delivered': return 'Delivered. Enjoy!';
  • case 'cancelled': return 'Order cancelled.';
  • Har case ke baad return → function immediately exit ho jata hai.

Line 8: Default case

  • default: return 'Unknown status.';
  • Agar koi bhi case match nahi hua → default case chalega.
  • Important: invalid/unknown status handle karne ke liye zaroori hai.

Real world:

  • E-commerce order tracking pages me status messages dikhana.
  • Dashboard me order status ke basis par UI update karna.
  • Email notifications me status-specific messages.