来自所有环境 "es6"、"es2017" 和 "es2020" 的 ESLint 全局变量是累积的还是增量的设置?

Are the ESLint globals from all environments "es6", "es2017", and "es2020" cumulative or incremental settings?

ESLint 具有来自所有环境的全局设置:

{
    "env": {
        "es6": true,
        "es2017": true,
        "es2020": true
    }
}

所有环境 es6es2017es2020 中的 ESLint 全局变量是累积还是增量设置?

换句话说,启用es2020支持是否足以从es6es2017中受益,还是必须分别启用每个JS语言版本支持?

是的,环境是累积的。

查看 relevant part of the source code(链接到 GitHub 上的当前主版本)可以最好地了解这一点。

es6 仅包含 newGlobals2015 中定义的全局变量。 es2017 包括 newGlobals2015newGlobals2017,而 es2020 包括 newGlobals2015newGlobals2017newGlobals2020

更新

较新版本的 ESLint 依赖于 separate package 中定义的环境,它使用不同的结构(它是一个普通的 JSON 文件)。但最终,全球定义并没有改变。