当 ESLint 规则“prefer-destructuring”没有意义时该怎么办

Sha*_*kov 1 javascript eslint

在很多情况下,ESLint 的规则"prefer-destructuring"是相当奇怪的。考虑以下示例:

obj.someVar = myList[0];
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,linter 都会警告我。

linter 想要的预期行为是什么?我可以使用临时变量来保存列表项的值,然后执行其余的逻辑,但我没有看到它有任何好处。有什么想法吗?

编辑:

我可以看到该规则在某些情况下的好处,即:

// bad
const someVar = myList[0];

// good
const [ someVar ] = myList;
Run Code Online (Sandbox Code Playgroud)

但是,当分配不直接给 var 时(例如分配对象的属性时),该规则似乎无关紧要。

t.n*_*ese 5

ESLint 期望的obj.someVar = myList[0]是:

let obj = {};
let myList = [1,2];

[obj.someVar] = myList;

console.dir(obj);
Run Code Online (Sandbox Code Playgroud)

以下是有关该主题的问题的链接:首选解构标记属性分配#11584