首页 > 解决方案 > 对象中的 ES6 风格的简写函数是否有 ESLint 规则?

问题描述

function在 ES6 中,当我们的函数是对象中的属性时,我们不再需要使用关键字:

const obj = {
    hello: function() { console.log("world!"); }
};

变成

const obj = {
    hello() { console.log("world!"); }
};

是否有 ESLint 规则来强制使用新样式?我在ES6 规则列表中没有看到类似的东西。

标签: javascriptecmascript-6eslint

解决方案


您正在寻找的规则是object-shorthand. 从文档

以下每个属性都会发出警告:

/*eslint object-shorthand: "error"*/
/*eslint-env es6*/

var foo = {
    w: function() {},
    x: function *() {},
    [y]: function() {},
    z: z
};

在这种情况下,预期的语法应该是:

/*eslint object-shorthand: "error"*/
/*eslint-env es6*/

var foo = {
    w() {},
    *x() {},
    [y]() {},
    z
};

推荐阅读