Code Sample 1
This is the JavaScript code for 08_10 in the exercise files.
Callback Function
/** * Using a callback function. * @link https://developer.mozilla.org/en-US/docs/Glossary/Callback_function */ // Helper function to format currency numbers. Used by tipCalculator const formatter = (locale = "en-US", currency = "USD", value) => { let formattedValue = new Intl.NumberFormat(locale, { style: "currency", currency: currency, }).format(value); return formattedValue; }; // Callback receives finalTip object, creates and outputs table on the DOM. const printHTML = (finalTip) => { const tipTable = document.createElement("table"); tipTable.innerHTML = `Sum before tip: ${finalTip.sum} Tip percentage: ${finalTip.percentage} Tip: ${finalTip.tip} `; document.querySelector("main").append(tipTable); }; // Create a finalTip object with all the data. Send it to the printHTML callback. const tipCalculator = (sum, percentage, locale, currency) => { let tip = sum * (percentage / 100); let total = sum + tip; const finalTip = { sum: formatter(locale, currency, sum), percentage: percentage + "%", tip: formatter(locale, currency, tip), total: formatter(locale, currency, total), }; }; tipCalculator(29.95, 18, "de-DE", "EUR"); Total: ${finalTip.total}