JavaScript中true && true && true && true && false && true && true && true的结果是什么?

时间:2020-05-27 02:45:29

标签: javascript logic conditional-operator adobe-indesign extendscript

以下内容:

true && true && true && false && true && true && true

(中间有6个“ true”和1个“ false”,全部由&&连接)会导致truefalse?我正在使用的程序Adobe InDesign(使用基于JavaScript的脚本语言)给出了true?另外,您如何计算由很多“真”和“假”组成的条件的结果?

2 个答案:

答案 0 :(得分:4)

在一致的JavaScript实现中,格式为(x 1 [&& x 2 ] *)的 any 序列为{{3} }如果 any 表达式x N 是falsy -它的值等于第一个falsy x N 值(或最后一个x N >如果没有错误,则通过&&的向左关联。

向左关联意味着(x1 && x2 && …)等同于((x1 && x2) && …),可以简单地将其应用于最初显示的表达式,以确定JavaScript中的“预期”结果为false

这种合取行为是大多数编程语言中的预期行为。

如果以“未显示的方式”混入“其他运算符”,则由于优先级规则,问题的前提可能不准确。请注意,上面的每个x N 通过替换是明确的。同样,如果它不是符合标准的JavaScript引擎...

答案 1 :(得分:1)

这将是错误的

console.log(true && true && true && false && true && true && true)

相关问题