javascript - 如果 IF 语句结束函数,为什么要使用 IF...ELSE?

标签 javascript function if-statement

在可读性之外使用 if...else 是否有好处?

例如,如果我有一个函数:

function a(b){
  if(b=="c"){
    return true
  }else{
    return false
  }
}

我不能把它压缩得更像这样吗:

function a(b){
  if(b=="c"){
    return true
  }
  return false
}

return false 不会触发,只要 b=="c",但它不需要 else 语句。

我遇到过很多次,我总是选择更精简的版本(主要是为了省去写更多)。对于像这样的示例,是否有理由包含 else 语句而不是为了提高可读性?

最佳答案

通常 return 之后的 else 被认为是多余的,但是,当“yes”和“no”分支在某种意义上相似时,最好将它们保持在同一位置缩进水平,为了对称。比较:

// confusing

if (spam.exists()) {
    $(box).content = "Spam already exists";
    $(button).disable();
    return failure;
}

$(box).content = "Added new spam";
$(button).enable();
return success;

// less confusing

if (spam.exists()) {
    $(box).content = "Spam already exists";
    $(button).disable();
    return failure;
} else {
    $(box).content = "Added new spam";
    $(button).enable();
    return success;
}

关于javascript - 如果 IF 语句结束函数,为什么要使用 IF...ELSE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13083359/

相关文章:

vba - 我使用 OR 在 VBA 上形成多个条件 IF ELSE 语句,它不起作用

c++ - C++ 'if' 语句中的变量赋值

javascript - 自定义绑定(bind)可观察数组中项目的属性,如何访问该项目?

javascript - 使用带有嵌套样式的样式组件用于 React 搜索栏,尝试将两个不同的 SVG 放置在搜索栏的相对两侧

java - Azure Java函数,获取BlobOutput路径注释中的HttpTrigger主体属性值

javascript - 如何在scala函数中传递参数对象?

带有 "puts"的 ruby​​ if-else 单行不工作

javascript - 无法将 html 元素附加到主干中的 el。

javascript - 如何使用 jQuery 删除包含特定文本的 div,以及仅删除 div 后的 HR 分隔线

javascript - 对 Javascript 提升感到困惑