typescript/no-dynamic-delete 限制
它做了什么
禁止在计算键表达式上使用 delete 操作符。
为什么这是不好的?
删除动态计算的键可能具有风险,并且在某些情况下无法良好优化。
在非运行时常量的键上使用 delete 操作符,可能表明你正在使用错误的数据结构。
如果你将对象用作键值对集合,应考虑改用 Map 或 Set。
示例
此规则的错误代码示例:
ts
const container: { [i: string]: 0 } = {};
delete container["aa" + "b"];此规则的正确代码示例:
ts
const container: { [i: string]: 0 } = {};
delete container.aab;如何使用
通过配置文件或 CLI 启用此规则,可以使用:
json
{
"rules": {
"typescript/no-dynamic-delete": "error"
}
}bash
oxlint --deny typescript/no-dynamic-delete