这就是我想要实现的目标:
var direction = (getState() < state) ? -1 : +1; //check direction
var state = state + direction
但我根本不喜欢这个解决方案。想要像:
var state = (getState() < state) ? state++ : state--;
答案 0 :(得分:1)
您可以在没有作业的情况下使用三元组。
getState() < state ? state++ : state--;
或
state += getState() < state || -1;
答案 1 :(得分:1)
var state = state + direction
这是重新声明或不起作用的东西,所以
state += direction;
如果您对帖子(in | de)创作感到满意,我猜你可以折成一行。
state += getState() < state ? -1 : +1;
并且我认为这与操作得到的一样可读。
如果你做的事情只是略微不同(在state
时没有改变getState() === state
),你可以使用Math.sign
!
state += Math.sign(getState() - state);
这是一个很好的清洁解决方案,所以也许你可以改变问题以适应它。 =)