我最近收到了一篇关于 JSLint 的博客文章的评论,询问为什么 JSLint 会抛出以下错误:
s === "test" ? MyFunc() : MyFunc2();
产生的错误是:
“期待一个赋值或函数调用,但看到了一个表达式。”
显然,JSLint 在这里期待一个任务,更像是:
var y = (s === "test") ? MyFunc() : MyFunc2();
但是,我并没有真正看到第一个示例的问题。三元运算符真的只能用于赋值吗?
我在JSLint.com 上看不到任何内容,在 JavaScript: The Good Parts 一书中也没有任何明显的内容。并且,在社区 fork JSHint中也报告了相同的错误。
任何人?