[英]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.