2016-02-21 32 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 ;