尝试在我的 Opera 用户脚本中使用 'const' 时出现错误

I'm getting an error when trying to use 'const' in my userscript with Opera

我可以将最新版本的 Chrome、Firefox 和 Edge (Chromium) 与 Tampermonkey 一起使用,它们都支持在我的用户脚本中使用 const。但是,对于带有 Tampermonkey 4.11.6120 的 Opera 73.0.3856.284,我收到错误消息“eslint:null - 解析错误:关键字 'const' 已保留”。虽然我知道我可以使用 varlet 我想知道是否有特定原因导致此错误。我的用户脚本是跨浏览器的,我希望是否有一种方法可以使用 const 而不会出现此错误。下面的图片只是我用 const 制作的用户脚本来显示错误:

编辑:我 运行 使用此代码的测试用户脚本:

const x = 2;
alert(x);

并且警报给出了 2。因此,我怀疑代码 运行 没问题,但这是 Tampermonkey 的内部错误。事实上,我坚信情况就是如此,因为我刚刚看到这个问题:https://github.com/Tampermonkey/tampermonkey/issues/1099

您看到的只是 Tampermonkey 提供的浏览器内编辑器的 linting 错误,而不是 JavaScript 运行时错误。您的脚本在现代版本的 Opera 中应该可以正常工作;您可以安全地忽略该警告。

如果您不喜欢警告的外观,可以改用外部脚本编辑器,例如,使用:

// @require          file://C:/PATH_TO_FILE.user.js

在元数据块中,元数据块之后没有内容。将代码写在 PATH_TO_FILE.user.js 中。

如果尚未报告,您也可以在 Tampermonkey 的 github 上提出问题,要求修复浏览器内编辑器。

ESLint 设置为旧的 ECMAScript,尽管我在 Firefox 上默认安装 TamperMonkey 4.11.6120 时没有收到该错误。
它可能特定于 Opera 安装。

TamperMonkey → 设置 → 自定义 Linter 配置

参考:Configuring ESLint

{
    "parserOptions": {
        "ecmaVersion": 6
    }
}

之前...

更新:来自 CertainPerformance 的评论

似乎 Opera 安装在上述方面有问题,但以下工作正常:

{
    "parserOptions": {
        "ecmaVersion": 6
    },

    "env": {
        "es6": true
    }
}