✏️1.7 중간 점검: 두 파일(과 두 단계)로 분리됨
import createStatementData from './createStatementData.js';
function statemnt(invoice, plays) {
return renderPlainText(createStatementData(invoice, plays));
}
function renderPlainText(data, plays) {
let result = `청구 내역(고객명): ${invocie.customer})\n`;
for (let perf of invoice.performaces) {
result += ` ${playFor(perf).name}: ${usd(perf.amount)} ($perf.audience}석)\n`;
result += `총액: ${usd(totalAmount())}\n`;
result += `적립 포인트: ${totalVolumeCredits()}점\n`;
return result;
}
function htmlStatemnt(invoice, plays) {
return renderHtml(createStatementData, plays));
}
function renderHtml(data) {
let result = `<h1>청구 내역(고객명): ${data.customer})</h1>\n`;
result += "<table>\n";
...
return result;
}
function usd(aNumber) {
return new Intl.NumberFormat("en-US",
{ style: "currency", currency: "USD",
minimumFractionDigits: 2 }).format(aNumber/100);
}Last updated