这段基于策略的计算分别处理 VIP 订单和普通订单时,会输出什么?
JavaScript
class LoyaltyDiscount {
discountFor(order) {
return order.customerKind === 'vip' ? order.subtotal * 0.1 : 0;
}
}
const policy = new LoyaltyDiscount();
const totals = [
{ subtotal: 100, customerKind: 'vip' },
{ subtotal: 100, customerKind: 'regular' },
].map((order) => order.subtotal - policy.discountFor(order));
console.log(totals.join(', '));