JavaScript中的一行if/else

Sco*_*ott 19 javascript

我有一些逻辑,用开/关切换(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';
}       
Run Code Online (Sandbox Code Playgroud)

eli*_*ide 35

你想要一个三元运算符:

properties['Value'] = (IsItMuted === true) ? 'On' : 'Off';
Run Code Online (Sandbox Code Playgroud)

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


scn*_*iro 17

您可以用以下内容替换if/ else逻辑,为您提供"一线"

properties['Value'] = scope.slideshow.isMuted() ? 'On' : 'Off';
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅条件(三元)运算符


gue*_*314 7

var properties = {"Value":scope.slideshow.isMuted() && "on" || "off"}
Run Code Online (Sandbox Code Playgroud)


cha*_*tfl 6

将所有组合成一行.

你并不需要创建空的对象,它可以有属性,如果是简洁你想不需要什么isItMuted或者

var properties = {Value : scope.slideshow.isMuted() ? 'On' : 'Off'};
Run Code Online (Sandbox Code Playgroud)