我有一些逻辑,用开/关切换(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)
有关详细信息,请参阅条件(三元)运算符
var properties = {"Value":scope.slideshow.isMuted() && "on" || "off"}
Run Code Online (Sandbox Code Playgroud)
将所有组合成一行.
你并不需要创建空的对象,它可以有属性,如果是简洁你想不需要什么isItMuted或者
var properties = {Value : scope.slideshow.isMuted() ? 'On' : 'Off'};
Run Code Online (Sandbox Code Playgroud)