首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >重构if else块中重复的if语句

重构if else块中重复的if语句
EN

Stack Overflow用户
提问于 2019-05-13 01:21:45
回答 1查看 58关注 0票数 1

我有这个if块,我必须在两个块中测试相同的东西:

代码语言:javascript
复制
   if (download !== 'true') {
     if(index == undefined){
       res.json(req.doc);
     }else{
       res.json(index)
     }
   } else {
     if(index == undefined){
       exports.download(res, req.doc);
     }else{
       res.json(index)
     }
   } 

有没有办法重构它,让我不再重复同样的事情?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-13 01:27:20

由于当index == undefined为false时,您在两个分支中执行相同的操作,因此只需先执行测试并反转它:

代码语言:javascript
复制
if (index != undefined) {
  res.json(index);
} else if (download !== 'true') {
  res.json(req.doc);
} else {
  exports.download(res, req.doc);
}

附注:

  • == undefined!= undefined将以同样的方式对待undefinednull如果 download实际上是布尔值,则!== 'true'将始终为true (因为没有布尔值严格等于字符串)。如果是布尔值,则使用if (download)if (!download),而不是=== true!== true。如果它是一个字符串,请注意开头或结尾的空格和大写(由于空格,' true' !== 'true'true;由于大写T'True' !== 'true'true )。FWIW
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56101672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档