Javascript 三元运算符和或运算符的运算顺序

Javascript 三元运算符和或运算符的运算顺序,javascript,conditional-operator,boolean-expression,Javascript,Conditional Operator,Boolean Expression,为什么在第一个示例中操作顺序是从右到左 这是世界性的 "Hello" || true ? "World" : "" 这算是你好 "Hello" || (true ? "World" : "") 这是由于逻辑优先 在第一个示例中,逻辑用于确定是输出世界还是输出。如果其中一种情况Hello | | true为true,则三元运算符将输出World 在第二种情况下,如果短路评估失败,则使用| |作为备用。也就是说,如果第一个值为true,则尝试输出第一个值。如果第一个值(在本例中为Hello)为f

为什么在第一个示例中操作顺序是从右到左

这是世界性的

"Hello" || true ? "World" : ""
这算是你好

"Hello" || (true ? "World" : "")

这是由于逻辑优先

在第一个示例中,逻辑用于确定是输出世界还是输出。如果其中一种情况Hello | | true为true,则三元运算符将输出World

在第二种情况下,如果短路评估失败,则使用| |作为备用。也就是说,如果第一个值为true,则尝试输出第一个值。如果第一个值(在本例中为Hello)为false,则计算下一个值true?世界:

在这两个示例中,逻辑在第一个值Hello上计算为true。不同之处在于,第一种情况用作三元运算符,作为使用

if ("Hello" || true) {
    return "World"
} else {
    return ""
}

这是由于逻辑优先

在第一个示例中,逻辑用于确定是输出世界还是输出。如果其中一种情况Hello | | true为true,则三元运算符将输出World

在第二种情况下,如果短路评估失败,则使用| |作为备用。也就是说,如果第一个值为true,则尝试输出第一个值。如果第一个值(在本例中为Hello)为false,则计算下一个值true?世界:

在这两个示例中,逻辑在第一个值Hello上计算为true。不同之处在于,第一种情况用作三元运算符,作为使用

if ("Hello" || true) {
    return "World"
} else {
    return ""
}

您可能知道操作不是从左到右执行的,而是遵循操作员优先级:只需考虑:

1 + 2 * 3
你预计7点还是9点?在您的实验中,三元运算符的优先级较低

"Hello" || true ? "World" : ""
相当于

("Hello" || true) ? "World" : ""

希望这能有所帮助。

您可能知道操作不是从左到右执行的,而是遵循操作员优先级:只需考虑:

1 + 2 * 3
你预计7点还是9点?在您的实验中,三元运算符的优先级较低

"Hello" || true ? "World" : ""
相当于

("Hello" || true) ? "World" : ""
希望这对你有帮助。

我希望这对你有帮助

你好| |真的吗?世界:; //同: 如果您好,是的{ console.logWorld }否则{ 控制台日志; }; // 输出世界 console.logHello | |真的吗?世界:;//你好 //或之后的句子类似于: 伊夫鲁{ 世界 }否则{ ; } //例如: 真的吗?世界:| |你好;//输出世界 console.logHello | |真的吗?世界:;//你好我希望这对你有帮助

你好| |真的吗?世界:; //同: 如果您好,是的{ console.logWorld }否则{ 控制台日志; }; // 输出世界 console.logHello | |真的吗?世界:;//你好 //或之后的句子类似于: 伊夫鲁{ 世界 }否则{ ; } //例如: 真的吗?世界:| |你好;//输出世界
console.logHello | |真的吗?世界:;//输出您可以看到的HelloOperator优先级,或高于三元。我不知道你期望的答案是什么,除了,这是顺序。@epascarello我不介意条件运算符和逻辑运算符具有相同的优先级。我想知道为什么会有不同的想法levels@MisterJojo条件是OR操作。看起来它与逻辑OR运算符处于同一级别是合乎逻辑的。您可以看到OR运算符的优先级高于三元运算符。我不知道你期望的答案是什么,除了,这是顺序。@epascarello我不介意条件运算符和逻辑运算符具有相同的优先级。我想知道为什么会有不同的想法levels@MisterJojo条件是OR操作。将其与逻辑OR放在同一级别似乎是合乎逻辑的。这是有道理的。我希望它们的优先级相同,这是有道理的。我希望它们的优先级相同。