2016-02-21 36 views
0

說,我們有嵌套三元聲明:嵌套三元運算符可接受的格式是什麼?

return foo ? 1 : bar ? 2 : 3; 

什麼是格式化這個代碼,以確保其他人將來可讀性的最佳途徑。

+2

不這樣做。嵌套的三元語句嚴重影響可讀性。 – Quentin

+1

請閱讀[this](http://codereview.stackexchange.com/questions/10466/is-using-the-ternary-operator-like-this-considered-less-readable)codereview post。 – aribeiro

+0

這看起來是基於意見而沒有「正確」的答案,或根據具體情況做出最佳決策(我的_opinion_)。 @ariberiro提供的codereview鏈接進一步討論了這個話題。 – traktor53

回答

-1
return foo ? 1 : (bar ? 2 : 3) ; 
+0

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 - [來自評論](/評論/低質量帖/ 11352525) –

+0

@ParkashKumar它的確回答了這個問題 –

-1

出於可讀性剛剛從這些聲明說走就走,他們很容易誤讀,如果你想要更多的東西可讀只是擴大和正常使用statments ..

沒有錯,只是有一個嵌套的if語句列表..

if(foo){ 
    return 1 
}else{ 
    if(bar){ 
     return 2; 
    }else{ 
     return 3; 
    } 
} 
0

分離功能

function getValue(cond1, cond2) { 
    if(cond1) return 'a'; 
    if(cond2) return 'b'; 
    return 'c'; 
} 

function work() { 
    const result = getValue(/* some params */); 
} 
1

This post是我能找到的最流行的觀點。這裏的建議是

return foo ? 1 : 
     bar ? 2 : 
      3 ;