【发布时间】:2013-01-19 08:22:30
【问题描述】:
一个特定的 JS 解析器(不在我的控制范围内)不理解这样的嵌套条件运算符语法:
return num === 1 ? condition ? condition : something : something;
因此,我想用 if/else 块替换文件中的所有条件运算符(简单和嵌套)。我该怎么做? (Textmate 或类似的正则表达式会很有帮助。)
【问题讨论】:
-
它是有效的(试试
1 ? 2 ? 3 : 4 : 5),但是子表达式中的returns 看起来很可疑(试试1 ? 2 ? 3 : return 4 : return 5)。 -
@chris 很公平,只是在试验它——我不确定。至于
returns,我认为他基本上是指“收益”作为 exp 的值。尽管如此,将内部表达式括起来比完全更改为if/else更容易 -
@ChrisJester-Young,抱歉,子表达式中的返回值不应该存在。问题只是关于用 if/else 替换条件运算符表达式。代码是有效的JS。
标签: javascript regex replace conditional-operator