在JavaScript中,是否可以在Or運算符之後放置條件語句?如果是這樣,爲什麼以下失敗?JavaScript中的Or運算符之後的條件語句
var value = 1 || true ? 2 : 3; // equals to 2
當我將值設置爲等於[1 || true ? 2 : 3]
時,我收到了意想不到的結果。 那得到的結果是:
value == 2
我的預期值是等於1(value= = 1
),自1 truthy,和Or語句應該具有回報1.條件語句,甚至不應該被執行。
val可以等於2(val == 2
)的唯一方法是Or操作符的行爲與預期不符,並運行Or語句的第二部分以及其中的條件語句。
爲什麼表現如此?
因爲它被解釋爲'(1 || true)? 2:3' – haim770
哦..我忘記了運營商的優先權.. –