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) {→statusvalue ko check karega:switchmultipleif-elsese 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
caseke baadreturn→ function immediately exit ho jata hai.
Line 8: Default case
default: return 'Unknown status.';- Agar koi bhi
casematch 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.