在Visual Studio中围绕表达式的无用括号

时间:2018-11-06 15:02:22

标签: javascript visual-studio

我突然在Visual Studio的很多地方收到了此消息。

  

表达式周围的多余括号。

我可以接受我的Java脚本的验证,但是这是什么意思,为什么下面的表达式会导致这种情况?

sim = model.objects.annotate(
            similarity=TrigramSimilarity('tag', model.model.tag),
            ).filter(similarity__gt=0.1).order_by('-similarity')
  

Visual Studio 15.8.6

1 个答案:

答案 0 :(得分:0)

此规则有一个字符串选项:

  • "all"(默认)不允许在任何表达式周围使用不必要的括号
  • "functions"仅在函数表达式周围禁止使用不必要的括号

此规则为“所有”选项的例外情况提供了一个对象选项:

  • "conditionalAssign":false允许在条件测试表达式中的赋值周围加上括号

  • "returnAssign":false允许在返回语句中的赋值周围加上括号

  • "nestedBinaryExpressions":false允许在嵌套二进制表达式中加括号

比较这两个代码:

带有默认"all"选项的该规则的错误代码示例:

/* eslint no-extra-parens: "error" */

a = (b * c);
(a * b) + c;
typeof (a);
(function(){} ? a() : b());

带有默认"all"选项的该规则的正确代码示例:

/* eslint no-extra-parens: "error" */

(0).toString();
({}.toString.call());
(function(){}) ? a() : b();
(/^a$/).test(x);

您的代码正确格式为

self.display.current() !== display.LOSER && self.display.current() !== display.WINNER || !self.bye()