从一行返回Ternary的结果(JavaScript)

时间:2014-11-20 12:38:54

标签: javascript shorthand ternary

在JavaScript中,不是必须将结果分配给变量,是否可以在一行代码中return三元组的结果?

e.g。而不是:

function getColor(val){
    var result = val <= 20 ? '#000' : val >= 80 ? '#999' : '#555';
    return result;
}

我们可以这样做......

function getColor(val){
    return val <= 20 ? '#000' : val >= 80 ? '#999' : '#555';
}

我问这个是因为我刚试过上面的内容而没有回复。

3 个答案:

答案 0 :(得分:1)

是。这是可能的。您还可以使代码更紧凑。

function isAGreaterThanB(){
    return a > b;
}

如果true更大,则上面的代码将返回a,否则返回false

答案 1 :(得分:0)

您只需返回a > b评估结果即可。

 function isAGreaterThanB(){
     return a > b;
 }

a > b计算为True或False时,您可以直接返回该值。

实际上这样做你输入的方式是一种非常糟糕的方法,对于像这样基本的东西来说是不必要的复杂。

答案 2 :(得分:0)

是的,有可能,你可以这样说:

function getBiggerNumber(a, b){
    return a > b ? a : b
}

如果a大于a,则此函数返回b;如果b大于b,则此函数返回a。 仅为完整性:如果ba相等,它也会返回b