使用对象解构删除属性且不触发ESLint no-unused-vars错误的方法
方案1:调整ESLint规则(零代码改动,最推荐)
@typescript-eslint/no-unused-vars 规则本身就提供了专门适配这种场景的配置项 ignoreRestSiblings,开启后会自动忽略解构语句中 rest 运算符前的未使用兄弟变量,完全不需要修改原有代码。
你只需要在项目的 ESLint 配置文件(比如 .eslintrc.json、.eslintrc.js)中修改对应规则即可:
{ "rules": { "@typescript-eslint/no-unused-vars": ["error", { "ignoreRestSiblings": true }] } }
开启该配置后,你原有代码可以完全保留,不会再触发未使用变量的报错,同时不会影响其他场景下未使用变量的正常检查。
方案2:使用下划线约定标识无用变量
如果不想修改全局 ESLint 规则,可以遵循业界通用的约定,将不需要使用的解构属性赋值给单下划线_,标识该变量是故意废弃不使用的:
const x = { a: 1, b: 2, c: 3}; const { a: _, ...x2} = x; console.log(x); console.log(x2);
如果该写法仍触发报错,可以补充规则配置忽略名为下划线的未使用变量:
{ "rules": { "@typescript-eslint/no-unused-vars": ["error", { "varsIgnorePattern": "^_$" }] } }
内容的提问来源于stack exchange,提问作者Dániel Kis-Nagy
相关产品推荐
相关产品推荐

