【发布时间】:2014-10-17 02:07:58
【问题描述】:
我知道这个 if 语句的正常用例是例如
var string = boolean ? "this" : "that";
我在我的编辑器中使用 jhint,当我尝试类似的东西时
boolean ? array.push("this") : array.slice("that",1);
jshint throws (W030)“期望一个赋值或函数调用,而是看到一个表达式”
到目前为止,代码一直运行良好,但也许我很幸运。
所以我的问题是,为什么我不应该使用这种模式,还有什么替代方案?因为写
if(boolean){
array.push("this");
} else {
array.splice("that",1);
}
这么短的说明真的让我毛骨悚然。
谢谢。
【问题讨论】:
-
JSLint 出于可读性原因抱怨它。你觉得这两个哪个更具可读性?阅读代码的次数远多于编写的代码。多写一行不应该让你“毛骨悚然”。
-
将
/*jshint -W030 */添加到文件顶部以删除警告,或更新您的.jshint文件。 -
array.push修改数组,但array.slice不会。:后面的部分没有效果,你用的有原因吗?
标签: javascript if-statement shorthand