【发布时间】:2020-01-07 01:23:57
【问题描述】:
据我所知,在 Javascript 中的虚假值之后不会执行表达式。例如在下面的语句中:
const result = undefined && 5;
console.log(result);
result 将未定义。
但是:
const result = false && false ? 'T' : 'F';
console.log(result);
result 将等于F。为什么三元表达式仍然执行?
【问题讨论】:
-
astexplorer 可以帮助回答此类问题。如果您查看 JavaScript 解析器如何解析提供的代码,您会发现
&&具有更高的优先级。 astexplorer.net/#/gist/f9da949cbe3ced8392db1f3aca1d332d/…
标签: javascript ternary-operator boolean-logic