You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何ESLint未对ES2017的Object.values方法给出兼容性警告?

为什么ESLint未提示Object.values的兼容性问题?

ESLint的env配置仅用于启用对应环境的语法支持与全局变量,比如启用es6只是允许使用const、箭头函数这类ES6语法,并不会自动检测ES6之后新增API的版本兼容性。Object.values是ES2017新增的API,不在ES6语法范畴内,所以仅开启es6环境不会触发相关提示。

要检测这类API兼容性问题,需要借助第三方ESLint插件,比如eslint-plugin-compat,具体步骤如下:

  1. 安装插件:
npm install eslint-plugin-compat --save-dev
  1. 修改ESLint配置文件,启用插件并设置规则:
module.exports = {
  env: {
    node: true,
    es6: true,
  },
  plugins: ['compat'],
  rules: {
    'compat/compat': 'error'
  },
  settings: {
    // 若未引入对应API的polyfill则留空;若已引入则填写对应的polyfill名称,比如['Object.values']
    polyfills: []
  }
}

此外,你可以通过package.json中的browserslist字段指定目标运行环境(比如特定版本的Node.js或浏览器),插件会根据这个配置精准检测API是否兼容目标环境。

内容的提问来源于stack exchange,提问作者Tobbe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 22:55:17