"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > रेस्तरां बिलिंग सिस्टम में `कॉल`, `अप्लाई` और `बाइंड` का उपयोग करना।

रेस्तरां बिलिंग सिस्टम में `कॉल`, `अप्लाई` और `बाइंड` का उपयोग करना।

2024-11-02 को प्रकाशित
ब्राउज़ करें:930

Using `call`, `apply`, and `bind` in a Restaurant Billing System.

परिदृश्य अवलोकन

एक रेस्तरां में, ग्राहक कई व्यंजन ऑर्डर कर सकते हैं, और हम ऑर्डर किए गए व्यंजनों की कीमतों, किसी भी लागू कर और छूट के आधार पर उनके कुल बिल की गणना करना चाहते हैं। हम कुल बिल की गणना करने और विभिन्न ग्राहकों और उनके ऑर्डर को संभालने के लिए कॉल, अप्लाई और बाइंड का उपयोग करने के लिए एक फ़ंक्शन बनाएंगे।

कोड उदाहरण

// Function to calculate the total bill
function calculateTotalBill(taxRate, discount) {
    const taxAmount = this.orderTotal * (taxRate / 100); // Calculate tax based on the total order amount
    const totalBill = this.orderTotal   taxAmount - discount; // Calculate the final bill
    return totalBill;
}

// Customer objects
const customer1 = {
    name: "Sarah",
    orderTotal: 120 // Total order amount for Sarah
};

const customer2 = {
    name: "Mike",
    orderTotal: 200 // Total order amount for Mike
};

// 1. Using `call` to calculate the total bill for Sarah
const totalBillSarah = calculateTotalBill.call(customer1, 10, 15); // 10% tax and $15 discount
console.log(`${customer1.name}'s Total Bill: $${totalBillSarah}`); // Output: Sarah's Total Bill: $117

// 2. Using `apply` to calculate the total bill for Mike
const taxRateMike = 8; // 8% tax
const discountMike = 20; // $20 discount
const totalBillMike = calculateTotalBill.apply(customer2, [taxRateMike, discountMike]); // Using apply with an array
console.log(`${customer2.name}'s Total Bill: $${totalBillMike}`); // Output: Mike's Total Bill: $176

// 3. Using `bind` to create a function for Sarah's future calculations
const calculateSarahBill = calculateTotalBill.bind(customer1); // Binding Sarah's context
const totalBillSarahAfterDiscount = calculateSarahBill(5, 10); // New tax rate and discount
console.log(`${customer1.name}'s Total Bill after New Discount: $${totalBillSarahAfterDiscount}`); // Output: Sarah's Total Bill after New Discount: $115

स्पष्टीकरण

  1. फ़ंक्शन परिभाषा:

    • हम एक फ़ंक्शन कैलकुलेटटोटलबिल को परिभाषित करते हैं जो कर दर और छूट को पैरामीटर के रूप में लेता है। यह फ़ंक्शन कुल ऑर्डर में कर जोड़कर और किसी भी छूट को घटाकर कुल बिल की गणना करता है।
  2. ग्राहक वस्तुएँ:

    • हम दो ग्राहक वस्तुएं बनाते हैं, ग्राहक 1 (सारा) और ग्राहक 2 (माइक), प्रत्येक अपने संबंधित नाम और कुल ऑर्डर मात्रा के साथ।
  3. कॉल का उपयोग करना:

    • सारा के लिए, हम कॉल विधि का उपयोग करके उसके कुल बिल की गणना करते हैं। यह हमें ग्राहक1 को संदर्भ के रूप में निर्दिष्ट करने और कर की दर और छूट को अलग तर्क के रूप में पारित करने की अनुमति देता है। आउटपुट टैक्स और छूट लागू करने के बाद सारा का कुल बिल दिखाता है।
  4. लागू का उपयोग करना:

    • माइक के लिए, हम उसके कुल बिल की गणना करने के लिए आवेदन पद्धति का उपयोग करते हैं। यह विधि हमें मापदंडों को एक सरणी के रूप में पारित करने की अनुमति देती है, जिससे कई तर्कों को संभालने में सुविधा होती है। माइक के कुल बिल की गणना समान रूप से की जाती है लेकिन विभिन्न कर और छूट मूल्यों के साथ।
  5. बाइंड का उपयोग करना:

    • हम बाइंड का उपयोग करके सारा के लिए एक बाउंड फ़ंक्शन बनाते हैं, जो ग्राहक 1 के संदर्भ को लॉक कर देता है। इसका मतलब है कि हम बाद में इस नए फ़ंक्शन को दोबारा निर्दिष्ट किए बिना कॉल कर सकते हैं। हम विभिन्न मापदंडों के साथ सारा के कुल बिल की फिर से गणना करके इसे प्रदर्शित करते हैं, जिससे भविष्य की लचीली गणना की अनुमति मिलती है।

उत्पादन

  • कंसोल लॉग सारा और माइक दोनों के लिए उनके संबंधित ऑर्डर और छूट के आधार पर कुल बिल प्रदर्शित करते हैं।
  • यह उदाहरण प्रभावी ढंग से दर्शाता है कि रेस्तरां बिलिंग सिस्टम के भीतर फ़ंक्शन संदर्भों को प्रबंधित करने के लिए कॉल, अप्लाई और बाइंड का उपयोग कैसे किया जा सकता है।

निष्कर्ष

यह परिदृश्य इस बात पर प्रकाश डालता है कि व्यावहारिक सेटिंग में कॉल, अप्लाई और बाइंड का उपयोग कैसे किया जा सकता है, जैसे रेस्तरां बिलों की गणना करना, यह समझने में मदद करना कि ये विधियां जावास्क्रिप्ट में इसके प्रबंधन को कैसे सुविधाजनक बनाती हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/dharamgfx/using-call-apply-and-bind-in-a-restaurant-billing-system-249j?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 से संपर्क करें इसे हटाने के लिए .com
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3