TypeScript 中的 noUnusedLocals
说明 noUnusedLocals 为什么会对未使用的局部变量报错,以及它如何帮助清理死变量和过时实现痕迹。
#tech / dev
#resource / typescript
#type / concept
#status / growing
[!info] related notes
- 所属 MOC: TypeScript MOC
- 配置入口: tsconfig 使用详解
- 并列概念: TypeScript 中的 noUnusedParameters, TypeScript 类型检查
TypeScript 中的 noUnusedLocals
一句话定义
noUnusedLocals 会对函数体或局部作用域里声明后从未读取的变量报错。
核心机制 / 工作原理
官方文档定义非常直接:
- Report errors on unused local variables
例如:
const createKeyboard = (modelID: number) => {
const defaultModelID = 23;
return { type: "keyboard", modelID };
};
开启后,TypeScript 会指出:
defaultModelID声明了但从未被读取
最小例子 / 最小场景
{
"compilerOptions": {
"noUnusedLocals": true
}
}
它最适合帮助清理:
- 重构后残留变量
- 早期草稿中的中间值
- 已失效的局部状态
边界与易混淆点
它不等于 ESLint 的 unused 规则
两边都能做未使用检查,但:
- TypeScript 是编译器级诊断
- ESLint 是规则层治理
团队通常需要决定到底让哪一层作为主约束来源。
它更偏“可维护性卫生”
这个选项通常不改变运行结果,但会显著减少死变量和阅读噪音。
它和 noUnusedParameters 是平行概念
noUnusedLocals查局部变量noUnusedParameters查函数参数
参考信息
- TSConfig
noUnusedLocals: https://www.typescriptlang.org/tsconfig/noUnusedLocals.html