ESLint中的experimentalObjectRestSpread无法正常工作

6
我想让ESLint允许我使用对象展开/收缩。尽管我已经尽力了,但我仍然会收到以下错误提示:
当我将鼠标悬停在带有红色波浪线的省略号(...)上时,会出现如下[js] Property assignment expected.的错误提示。
alt
我的.eslinstrc.json文件如下所示:
{
    "extends": "airbnb",
    "plugins": [
        "react"
    ],
    "parserOptions": {
        "ecmaFeatures": {
            "experimentalObjectRestSpread": true
        }
    },
    "rules": {
        "no-console": 0
    }
}

我确定偏好设置已被读取,因为no-console规则、react插件和airbnb样式指南都按预期工作。

要启用对象rest/spread,请使用experimentalObjectRestSpread关键字(哈哈),并且它似乎对其他人有效。但是它拒绝为我工作。我不知所措\o/

更新:我正在使用Visual Studio Code v1.2.1


const声明是否在块级作用域内?...foo的预期结果是什么? - guest271314
1个回答

9

我猜你在使用VSCode,我认为错误来自于VSCode本身。否则,错误消息将以[eslint]而不是[js]开头。

看起来VSCode目前不支持对象扩展运算符(请参见:Github上的问题)。

您可以通过设置{"javascript.validate.enable": false}来禁用JavaScript验证。

另一个选择是Object.assign

const foo = {
  a: 1
};
const bar = 'bar';
const res = Object.assign(
    {},
    foo,
    {bar}
);

非常感谢这个 :D 它让我疯了,哈哈。是的,与此同时我一直在使用 Object.assign,但它真的很糟糕,因为很多 React 项目使用对象 rest/spread :/ 希望 VSC 尽快支持它! - Titus
1
对象展开运算符现在得到支持!请参见:Visual Studio Code V1.6 发布说明 - hmoritz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接