如果变量为真假,是否有使值为负值/正值的简写?

时间:2017-02-26 10:54:49

标签: javascript

我正在寻找一种方法,在没有if else语句且没有代码重复的情况下执行此操作:

const centerY = down ? side*0.866:-side*0.866

2 个答案:

答案 0 :(得分:2)

如何使用变量。

let v = side*0.866;
const centerY = (down && v) || -v;

或没有变量

const centerY = (down && 1 || -1) * side * 0.866

答案 1 :(得分:1)

您可以使用布尔值down

进行计算
const centerY = (2 * down - 1) * side * 0.866

或按位NOT

const centerY = (~(~1 * down)) * side * 0.866