策略模式

2020-05-19  本文已影响0人  练习时长2年半的个人练习生

1、通过等级、基本工资计算年终奖

const calcMoney = {
    'S':salary=> 5*salary,
    'A':salary=> 4*salary,
    'B':salary=> 3*salary,
    'C':salary=> 2*salary,
    'D':()=> 0
}


class Bonus{
   constructor(level,salary){
      this.level = level;
      this.salary = salary;
   }
   getBonus(){
      return  calcMoney[this.level](this.salary)
   }
}


let bonus = new Bonus('S',23000);
console.log(bonus.getBonus()) //115000

与if else if 多重判断,相比,代码拓展性,独立性,可读性变得更强

上一篇下一篇

猜你喜欢

热点阅读