这种带有逻辑运算符的表达式是什么意思

What means this kind of expression with logics operators

我在 javascript 中有一个布尔表达式,但我不知道它是什么意思。

a = (b === LEFT && -2 || b === RIGHT && 2 || 0)

请问这是什么意思?

&& 是一个 hacky 快捷方式,如果:

if (B === LEFT) {
    a = -2;
} else if (B === RIGHT) {
    a = 2;
} else {
    a = 0;
}

三元运算符的另一个快捷方式

a = b === LEFT? -2: (b === RIGHT? 2 : 0)