Skip to content
← Back to rules

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

参考资料