在eslint上使用数组解构(prefer-destructuring)错误

时间:2019-02-22 13:30:02

标签: eslint

这是我的代码中eslint不喜欢的部分。

 $(document).ready(function() {
    $.ajax({
      url: 'https://haveibeenpwned.com/api/v2/breachedaccount/mark@fixitks.co.uk',
      type: 'GET',
      dataType: 'json',
      success: function() { alert('hello!'); },
      error: function() { alert('boo!'); }
      ,
      headers: {
  'User-Agent': 'uaheader'
}
    });
  });

如何重写它以克服此错误?

1 个答案:

答案 0 :(得分:1)

夹板prefer-destructuring规则具有两个属性arrayobject,可用于分别打开或关闭每种类型的销毁要求。默认情况下,两者都是正确的。

启用数组属性后,这是不正确的

const foo = ['one', 'two'];

const x = foo[0];   // incorrect

解构数组的正确方法是:

const [one, two] = foo;

console.log(one); // "one"
console.log(two); // "two"

因为该规则说要通过破坏数组来访问元素,所以假设您有一个大数组,并且想直接访问large array indices,那么该规则的array属性就不是建议启用此功能,因为解构与该用例非常不匹配。您只需在以下情况下将其放在.eslintrc中即可在以下情况下禁用强制数组解构:

{
  "rules": {
    "prefer-destructuring": ["error", {"object": true, "array": false}]
  }
}