【发布时间】:2016-10-14 12:08:22
【问题描述】:
为此使用三元运算符是否是一种好习惯:
answersCounter = answer.length != 0 ? ++answersCounter : answersCounter;
这是我经常问自己的一个问题。或者,使用普通的 if 语句更好吗?对我来说,这看起来更简洁。
【问题讨论】:
-
answersCounter += answer.length != 0;就是你所需要的 -
看起来不错!但它是如何工作的?,因为评估的结果是一个布尔值,变量是一个数字。这不能在 Java 中工作吗?
-
并非如此。您真的应该只使用简单明了的
if语句,而不是试图变得花哨。 -
右侧计算为布尔结果(
true或false)。+=运算符将强制它输入数字(1或0)。在您的控制台中尝试一下! -
没有@Frak,它不会在 Java 中工作,但是 很多 的东西不会在一种语言或另一种语言中工作; Java 和 JavaScript 的共同点与“ham”和“Hamlet”一样多。
标签: javascript conditional-operator