【问题标题】:Javascript difference between || and ?: [closed]Javascript之间的区别||和?:[关闭]
【发布时间】:2014-08-05 14:26:02
【问题描述】:

据我了解Javascript || operator
|| 将返回任何一个操作数为真,并且
?: 将返回第一个操作数,如果 ? 之前的条件计算为真,否则返回第二个操作数.

但是|| 本身是否可以被视为三元运算符?解释一下。

【问题讨论】:

  • “三元运算符”是指具有三个操作数。 || 是否有三个操作数?没有。

标签: javascript ternary-operator


【解决方案1】:

|| 运算符可以看作是?: 运算符的特例。以下 sn-ps 是相同的:

var c = a || b;
var c = a ? a : b;

【讨论】:

  • 当然,通过使用改变自身状态的访问器可以产生不同的结果,但这肯定是一种极端情况。
【解决方案2】:

|| 运算符是二进制的,因为它只有两个操作数:condition1 || condition2

?: 是三元的,因为它有三个操作数:condition ? value_if_true : value_if_false

【讨论】:

  • 在发帖时并没有意识到这一点,谢谢。
猜你喜欢
  • 1970-01-01
  • 2022-12-09
  • 2013-01-04
  • 1970-01-01
  • 1970-01-01
  • 2020-06-04
  • 2020-12-24
  • 2011-06-24
  • 2014-11-28
相关资源
最近更新 更多