gpt4 book ai didi

javascript - JavaScript 中 Or 运算符后的条件语句

转载 作者:行者123 更新时间:2023-11-30 11:43:50 24 4
gpt4 key购买 nike

在 JavaScript 中,是否可以在 Or 运算符之后放置条件语句?如果是这样,为什么以下对我来说失败了?

var value = 1 || true ? 2 : 3;    // equals to 2

当我将值设置为等于 [1 ||真的 ? 2 : 3],我得到了意想不到的结果。得到的结果是:

value == 2

我期望值​​等于 1 (value= = 1),因为 1 是真值,而 Or 语句应该返回 1。条件语句甚至不应该是执行。

val 可以等于 2 (val == 2) 的唯一方法是 Or 运算符的行为不符合预期,并运行 Or 语句的第二部分和条件语句就在里面。

为什么会这样?

最佳答案

I've expected value to be equals to 1 (value = 1), since 1 is truthy

为此,您需要 parent :

var value = 1 || (true ? 2 : 3);
// --------------^------------^

如果没有它们,|| 介于 1true 之间,然后条件运算符的第一个操作数就是它的结果(是 1)。

这是因为||的优先级高于条件运算符(just); here's a table on MDN .

关于javascript - JavaScript 中 Or 运算符后的条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41683768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com