这段基于策略的计算分别处理 VIP 订单和普通订单时,会输出什么?

来自 SOLID 原则
TypeScript 6 入门 2分钟

这段基于策略的计算分别处理 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(', '));
在试验场中打开
报告错误