JavaScript中的一行if / else

时间:2015-05-12 00:37:48

标签: javascript

我有一些逻辑用on / off切换(with和else / if)true / false但是我想使它更精简而不使用switch语句。理想情况下,if / else将被转换为一条短线。谢谢!!!

var properties = {};
var IsItMuted = scope.slideshow.isMuted();
if (IsItMuted === true) {
    properties['Value'] = 'On';
} else {
    properties['Value'] = 'Off';
}       

4 个答案:

答案 0 :(得分:20)

你想要一个三元运算符:

properties['Value'] = (IsItMuted === true) ? 'On' : 'Off';

? :被称为三元运算符,在表达式中使用时就像if / else一样。

答案 1 :(得分:15)

您可以使用以下内容替换e4209f97e819 / if逻辑,以便为您提供" one-liner"

else

请参阅Conditional (ternary) Operator了解详情

答案 2 :(得分:6)

var properties = {"Value":scope.slideshow.isMuted() && "on" || "off"}

答案 3 :(得分:5)

将all合并为一行。

您不需要创建空对象,它可以具有属性,如果简洁是您想要的,则不需要isItMuted

var properties = {Value : scope.slideshow.isMuted() ? 'On' : 'Off'};