2017-12-13 9 views
-7

これは私の三元は、今のように見えるものですが、私は/ elseブロック三元を変換する方法へ/ else条件

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

'if(v){searchResultBox(); } else {hideBox();} } ' – xs0

+0

[条件付き演算子](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator) – Paulpro

答えて

1

場合ternaryは、フォーマットの方法ですと、これはどのように見えるかを確認したい場合は条件はただのifに限定されています。 else。すなわち、else ifブロックの余地はありません。ここで

v ? searchResultBox() : hideBox()で何が起こっているかである:

     1   2    3 
  1. truthinessためvを評価します。
  2. vが真実である場合は、searchResultBox関数を呼び出します。非三条件として
  3. そうでない場合は、hideBox関数を呼び出す

、あなたの例では、次のようになります。あなたは次の例(を試すことができます

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

fiddle here)を使って、何が起こっているのかをよりよく理解してください:

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

このコードスニペットは質問を解決するかもしれませんが[説明を含む] http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は本当にあなたの投稿の質を向上させるのに役立ちます。 – Kraylog

+0

お寄せいただきありがとうございます。もう少し文脈を追加しました。あなたがそれがより精巧なものから利益を得ることができると思うかどうか私に教えてください –

関連する問題