我们是否需要ESLint中的“检查重复键”规则?

时间:2016-10-26 18:03:48

标签: javascript jquery eslint

这个例子来自disallow duplicate keys in object literals (no-dupe-keys)

var foo = {
    bar: "baz",
    bar: "qux"
};

当我们称之为:

alert(foo['bar']);

将抛出字符串qux。这也意味着,foo['bar'] = "baz"已被覆盖,无法分配。所以,你应该删除它。

好吗?

我将采取另一个例子:

let element = $('<span/>').text('Hi!');
element.css({
    display: '-webkit-box',
    display: '-moz-box'
});

那么,display: '-webkit-box'会被覆盖,也无法分配?

不,它在Chrome上很有用,-moz-box会在FF上使用。所以,他们是不同的。

然后,规则正在破坏......

将来是否应该进行编辑?

1 个答案:

答案 0 :(得分:1)

是的,我们确实[需要这条规则]。

在对象中重新分配值最多是无用的和误导性的,最糟糕的是它是一个彻头彻尾的错误。

您的第二个示例仍然是一个普通的旧JS对象,并且您正在覆盖display