使用对象解构删除属性,不会出现 eslint no-unused-vars 错误

Dán*_*agy 6 javascript destructuring unused-variables typescript eslint

考虑以下代码,我x使用解构创建了一个“副本”,并删除了其中一个属性:

const x = { a: 1, b: 2, c: 3};
const { a, ...x2} = x;
console.log(x);
console.log(x2);
Run Code Online (Sandbox Code Playgroud)

如果我这样做,@typescript-eslint/no-unused-vars会认为这是一个未使用的错误a

如何更改代码来修复错误,而不明确要求 eslint 忽略有问题的行,最好仍然使用解构语法?即我真的不想使用delete,也不想显式枚举所有其他属性,例如const x2 = {b: x.b, c: x.c }.

是否有一种奇特的语法或奇怪的 eslint 规则可以鱼与熊掌兼得?

Rya*_* Le 8

有一个以该规则命名的新添加选项ignoreRestSiblings

您可以将其设置为 true 以忽略您的情况:

{ "ignoreRestSiblings": true }
Run Code Online (Sandbox Code Playgroud)