dw个人网站制作模板,公司做网站怎么做账,crm管理是什么意思,海外网络推广专员招聘前端在进行各种判断的时候#xff0c;if会用到很多#xff0c;但是如果判断的条件过多#xff0c;还一直用if#xff0c;代码会非常臃肿#xff0c;而且可修改性不强
那么就有人说了#xff0c;if不行#xff0c;那我用switch case呗#xff0c;但是用switch case 也没…前端在进行各种判断的时候if会用到很多但是如果判断的条件过多还一直用if代码会非常臃肿而且可修改性不强
那么就有人说了if不行那我用switch case呗但是用switch case 也没有解决代码臃肿和可修改性这个时候我们就可以用js中的映射了通过映射来代码进行简化和修改。
举个简单的例子比如现在有100个判断条件那if该怎么写switch case又要怎么写代码看起来是特别奇怪的映射就很好修改和使用了。
来个实际例子现在我们有一个需求在项目国际化的时候需要根据languge的不同对需要国际化的语言进行相应的操作用映射怎么写呢
let languge zh-CN
let obj:any {zh-CN:(){console.log(tInJs?.$t(message.hello));return tInJs?.$t(message.hello)},en-US: () {console.log(333);}
}我们执行的时候直接
obj[languge]() //完事 那有人说这个langue不在你obj里面有响应的key值又该怎么办呢那也很简单
let languge zh-CN
let obj:any {zh-CN:(){console.log(222);},en-US: () {console.log(333);},default: () {console.log(暂无匹配元素);return 暂无匹配元素}
}
if (obj[languge] undefined) {obj[default]()
}else{obj[languge]()
}无论你有多少判断条件我只需要在obj里面写出来其他都不用变对应的条件直接找obj的key就完事了