【问题标题】:JSLint : Unexpected ']' in array of objectJSLint:对象数组中出现意外的“]”
【发布时间】:2018-04-26 12:08:23
【问题描述】:

我在带有 ES6 的 PHPStorm 中使用 JSLint,并且在以下行之后出现此错误:pathPublic + "/css/style.css",

JSLint:意外的']'。

我的代码:

    let filesCss = [
    {
        outputFilename: "fc-main.min.css",
        outputPath: pathPublic + "/css",
        inputFiles: [
            pathPublic + "/css/style.css",
        ],
    },
];

【问题讨论】:

  • 可能是因为在 inputFiles 数组中的最后一个条目之后、对象中的最后一个属性之后以及 filesCss 数组中的最后一个条目之后有逗号
  • 我试图删除 3 个逗号但它不起作用:/
  • @AndrewLohr 这是完全合法的。尾随逗号从一开始就在 ECMAScript 中,从 ES5 开始支持对象中的尾随逗号。
  • @Birjolaxew 是否合法,我们谈论的是 JSLint 错误以及为什么 OP 可能会从它那里收到该错误。
  • @AndrewLohr 这意味着你应该解释如何禁用错误,或者它发生的原因 - 不要告诉他在没有解释的情况下删除他的代码的合法部分。

标签: javascript jslint


【解决方案1】:

尾随逗号可能会在旧版 IE 上出现问题:

“额外的逗号。(它破坏了旧版本的 IE)”错误(以及 替代“尾随逗号”和“意外的','错误”)被抛出 当 JSLint、JSHint 和 ESLint 在最后遇到逗号时 数组字面量的元素或跟在最后值后面的逗号 对象字面量。由于版本 2.0.0 JSHint 只会提出这个 如果 es3 选项设置为 true,则会发出警告。

所以你必须删除它们或使用es<version> 选项:

    let filesCss = [
    {
        outputFilename: "fc-main.min.css",
        outputPath: pathPublic + "/css",
        inputFiles: [
            pathPublic + "/css/style.css"
        ]
    }
];

见:https://github.com/jamesallardice/jslint-error-explanations/blob/master/message-articles/extra-comma.md

【讨论】:

  • 感谢您的回答,如果我删除 3 个逗号,则会出现以下错误:“ESLint : Missing trailing comma. (comma-dangle).”
  • @ElGecko_76 你使用的是 ESLint 还是 JSLint?听起来您正在使用两者,但配置冲突。
  • 你只需要从},中删除,
  • Eslint、jshint、stylelint 和 JSlint。我必须删除两者之一?
  • @ElGecko_76 对于每种语言,您一次只能使用一个 linter,并根据您的需要进行配置。您目前正在为 JS 使用 3 种不同的 linter,它们的配置存在冲突。
猜你喜欢
  • 1970-01-01
  • 2012-08-13
  • 2012-10-21
  • 2017-05-22
  • 1970-01-01
  • 2016-05-21
  • 1970-01-01
  • 2012-02-29
  • 1970-01-01
相关资源
最近更新 更多