如何抑制"{variable}更好用点符号写."

Tom*_*tes 56 javascript syntax properties jshint

是否有选项和/或如何抑制如下错误?

175,14:['tracker']最好用点符号书写.

Tom*_*tes 128

如果它是一个功能而不是错误,请将其放在文件的顶部.

/*jshint sub:true*/
Run Code Online (Sandbox Code Playgroud)

如果这是一个错误,你应该重构你的代码

foo['tracker'] = bar // from this...
foo.tracker = bar;   // to this!
Run Code Online (Sandbox Code Playgroud)

关于原因的好帖子:https://stackoverflow.com/a/2001410/94668

  • 你的.jshintrc文件中的``sub':true,` (13认同)
  • 这总是让我感到烦恼,导致在关键数组中引用元素的唯一方法是使用括号样式.如果jsHint可以检查括号中的值并且如果它是JS关键字则不生成警告,那将是很好的.否则,jsLint最终告诉我用点表示法写一些会导致语法错误的东西:P (8认同)
  • 我希望链接的"好帖子"给我一个理由,为什么我更喜欢用括号表示法的点符号.这篇文章给出的唯一原因是JSLint的作者决定如此.对我来说,它仍然只是一个偏好而不是正确的问题,那么为什么JSLint/JSHint将其标记为警告? (3认同)

dan*_*lmb 16

在JSHint 1.0.0及更高版本中,您可以使用特殊选项语法忽略任何警告.该警告的标识符为W069.

这意味着您可以告诉JSHint不要使用该/*jshint -W069 */指令发出此警告.

您甚至可以包装几行代码,然后重新启用警告,如下面的示例所示(请注意将来为什么这是一个好主意):

/*jshint -W069 */
/*Disable Warning Justification:
    Using bracket notation so Google Closure Compiler 
    ADVANCED_OPTIMIZATIONS will keep the original property names. */
obj['prop1'] ='foo';
obj['prop2'] ='bar';
/*jshint +W069 */
Run Code Online (Sandbox Code Playgroud)

  • 您也可以使用`/*jshint sub:true*/`忽略它 (2认同)