代码审核提升小Tip

1、【优化】格式化日期,0的填充

改前:
formatDate(val){
    let d = new Date(val)
    let month = (d.getMonth() +1).toString()
    let day = (d.getDate()).toString()
    let year = d.getFullYear()
    if(month.length < 2) month = '0' + month // todo
    if(day.length < 2) day = '0' + day
    return [year, month, day].join('-')
},
改后:
month = mouth.padStart(2, '0')

2、【缺陷】定时函数书写
定时器的第一个参数应该是函数而不是函数的结果,this.handleqQuery 的返回值不是函数 此方法会报错

改前:
onLoop() { // 测试60s执行一次
    this.timer = setInterval(this.handleqQuery, 300000) // todo
},
改后:
onLoop() { // 测试60s执行一次
    this.timer = setInterval(()=>{
    	this.handleqQuery()
	}, 300000)
},

3、【优化】通过匹配key获取目标值

改前:
let color = '';
switch (item.type){
    case '0':
        color = '#C6CBD8'  //灰色
        break
    case '1':
        color = '#67B662'  //绿色
        break
    case '2':
        color = ' #5AB9ED'  //蓝色
        break
    case '5':
        color = '#FFE329' // 黄色
        break
    case '3':
        color = '#E03523' //红色
        break
    case '4':
        color = '#E03523' //红色
        break
}
改后:
const colorList = new Map()
.set('0','#C6CBD8')
.set('1', '#67B662')
.set('2', '#5AB9ED')
.set('5', '#FFE329')
.set('3', '#E03523')
.set('4', '#E03523')
const color = colorList.get(item.type)

4、多余的三点表达式

改前:
this.berthMatStatus = batteryWorkShop.stgTyp.matStatus === "1" ? true : false

改后:
this.berthMatStatus = batteryWorkShop.stgTyp.matStatus === "1" 

你可能感兴趣的:(前端踩坑路漫漫,前端,javascript)