JSLint并使用三元表达式分配值

时间:2019-04-12 11:36:01

标签: javascript ternary-operator jslint

这只是一个示例,但是使用以下三元表达式进行赋值,我无法使其通过JSLint test

我也无法忽略它。

var size = settings.size ? settings.size : defaults.size;

错误消息是 “将三元表达式用括号括起来,在左括号后面换行。”

我找不到的是一种使用parens的方法,并且仍然可以执行该分配。

鉴于其中约有10个,JSLint尚未完成,请转到我要检查的非常重要的内容。

1 个答案:

答案 0 :(得分:0)

我也遇到了这个问题,发现这篇文章寻找答案,但是经过一番尝试和错误之后,我认为我可以解决这个问题。

这是我用来安抚JSLint的语法(使用您的示例):

var size = (
  settings.size ? settings.size : defaults.size
);

这同样有效:

var size = (
  settings.size ? settings.size : defaults.size);

请注意,这种特殊的三元逻辑还会使JSLint抱怨其他问题:Expected '||' and instead saw '?',但是以上语法确实解决了OP的问题。