【发布时间】:2011-09-09 02:05:00
【问题描述】:
我最近收到一篇关于 JSLint 的博客文章的评论,询问为什么 JSLint 会抛出以下错误:
s === "test" ? MyFunc() : MyFunc2();
产生的错误是:
"期望一个赋值或函数 调用,而是看到了一个表达式。”
显然,JSLint 在这里期待一个分配,更像是:
var y = (s === "test") ? MyFunc() : MyFunc2();
但是,我并没有真正看到第一个示例的问题。三元运算符真的只能用于赋值吗?
我在JSLint.com 上看不到任何东西,在 JavaScript: The Good Parts 一书中也没有任何明显的东西。并且,社区forkJSHint也报了同样的错误。
有人吗?
【问题讨论】:
标签: javascript ternary-operator jslint jshint