如何将三元转换为if / else条件

时间:2017-12-13 16:41:10

标签: javascript function if-statement shortcut

这就是我的三元现在的样子,但我想看看它看起来像if / else块

function showResultBox(v){     
  v ? searchResultBox() : hideBox()    
}

1 个答案:

答案 0 :(得分:1)

ternary是格式化条件的方式,仅限于if | else。也就是说,没有任何else if块的空间。

以下是v ? searchResultBox() : hideBox()中发生的事情:

                        1          2                3
  1. truthiness评估v
  2. 如果v是真实的,请致电searchResultBox函数。
  3. 否则,请致电hideBox函数
  4. 作为非三元条件,您的示例将如下所示:

    
    
    if (v) {
      searchResultBox();
    } else {
      hideBox();
    }
    
    
    

    您可以尝试以下示例(fiddle here),以便更好地了解正在发生的事情:

    true ? console.log("stark") : console.log("baratheon")
    false ? console.log("stark") : console.log("baratheon")