【问题标题】:How to suppress "{variable} is better written in dot notation."如何抑制“{variable} 最好用点表示法编写。”
【发布时间】:2012-10-22 22:46:24
【问题描述】:

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

175,14:['tracker'] 最好用点表示法编写。

【问题讨论】:

    标签: javascript syntax properties jshint


    【解决方案1】:

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

    /*jshint sub:true*/
    

    如果是bug,你应该重构你的代码

    foo['tracker'] = bar // from this...
    foo.tracker = bar;   // to this!
    

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

    【讨论】:

    • 这总是困扰着我,因为在关联数组中引用其键是保留关键字的元素的唯一方法是使用括号样式。如果 jsHint 可以检查括号中的值并且如果它是 JS 关键字则不会生成警告,那就太好了。否则,jsLint 最终会告诉我用点符号写一些会导致语法错误的东西:P
    • @reblace JSHint(注意,与 jsLint 不同supposedly does exactly that.
    • 那是你的 .jshintrc 文件中的"sub": true,
    • 我希望链接的“好帖子”能给我一个理由,为什么我应该更喜欢点符号而不是括号符号。该帖子给出的唯一原因是 JSLint 的作者如此决定。对我来说,这仍然只是偏好问题而不是正确性问题,那么为什么 JSLint/JSHint 将其标记为警告?
    • @whY 我更喜欢点符号,因为您可以在调试时将鼠标悬停在属性上以查看值,而括号符号调试器无法在悬停时对其进行评估。
    【解决方案2】:

    在 JSHint 1.0.0 及更高版本中,您可以忽略带有special option syntax 的任何警告。此警告的标识符是 W069

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

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

    /*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 */
    

    【讨论】:

    • 您也可以根据答案使用/*jshint sub:true*/ 忽略它
    • 在 lint 文件的其余部分时启用/禁用一段代码是解决此问题的好方法。
    【解决方案3】:

    我假设您询问的是 Dreamweaver 或其他编辑器。

    织梦者

    你可以去Edit -> Preferences -> Linting

    在下拉列表中选择 JS 并点击 Edit & Apply changes

    寻找

     "sub": false,
    

    并将其更改为 true。保存文件,该通知将消失。

    如果您有其他想要编辑的 Linting 内容,可以在 https://jshint.com/docs/options/ 找到一个有用的列表

    【讨论】:

    • 禁用这个警告应该是相反的。 "sub": true,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 2019-02-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    相关资源
    最近更新 更多