【JS-if】小技巧

摘要:带有if的代码简化;短路运算符1;短路运算符2;swich的代码

带有if的代码简化

function validation(customer) {
  if (!customer.email) {
    return error('email is require')
  } else if (!customer.login) {
    return error('login is required')
  } else if (!customer.name) {
    return error('name is required')
  } else {
    return customer;
  }
}

重构后的代码

const customerValidation = customer =>
  !customer.email   ? error('email is required')
  : !customer.login ? error('login is required')
  : !customer.name  ? error('name is required')
                    : customer ;


短路运算符1

if(name){
	login(name) //执行
}

重构

name&&login(name);


短路运算符2

if(name&&password){
	login(name,password) //执行
}

重构后

var name = true;
var password = '001'
function login(name,password){
  console.log('登录成功')
}
name&&password && login(name,password);


swich的代码

var day;
switch (new Date().getDay()) {
  case 0:
    day = "周日";
    break;
  case 1:
    day = "周一";
    break;
  case 2:
    day = "周二";
    break;
  case 3:
    day = "周三";
    break;
  case 4:
    day = "周四";
    break;
  case 5:
    day = "周五";
    break;
  case  6:
    day = "周六";
}
console.log(day)

重构后

const nowWeek = (day) => ({
  '0':'周日',
  '1':'周一',
  '2':'周二',
  '3':'周三',
  '4':'周四',
  '5':'周五',
  '6':'周六',
})[day] || '其他'
var a = nowWeek(1);
console.log(a) //周一

// 例子一个函数返回一个对象
const aa = (day) => ({
  '0':'周一'
})
console.log(aa(0))
const bb = (day) => {
  return {
    '0':'周一'
  }
}
console.log(bb(0))

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_8635