繁体   English   中英

Javascript三元逻辑问题

[英]Javascript Ternary Logic Issue

我最近遇到了这种形式的三元逻辑语句:

condition, condition ? condition ? expr1 : expr2 : expr3

我不确定如何解释这一点。 我在网上看不到任何东西。 任何人都对此有任何信息。

condition, condition ? condition ? expr1 : expr2 : expr3

首先,您有一个逗号运算符。 评估为右侧。 因此,第一个条件不执行任何操作。


condition ? condition ? expr1 : expr2 : expr3

然后你只有两个三元表达式

它与:

condition ? (condition ? expr1 : expr2) : expr3

因此,如果第一个条件为假,则得到expr3。

否则,第二个条件在expr1和expr2之间选择。


永远不要写这样的代码! Concisenes只是一种美德,以至于很难理解代码的含义。

我们试试吧:)

condition1, condition2 ? condition3 ? expr1 : expr2 : expr3

condition1不解析。 让我们以“返回”为例。

if( condition2 ){
  if(condition3){ 
      return exp1;
  } else { 
      return expr2;
  }
} else {
  return expr3;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM