禁止使用数组删除
禁止对数组值使用
delete
运算符。
🔒
在 "plugin:@typescript-eslint/strict-type-checked"
中扩展 ESLint 配置 将启用此规则。
💡
此规则报告的一些问题可以通过编辑器 建议 手动修复。
💭
此规则需要 类型信息 才能运行。
当使用 delete
运算符和数组值时,数组的 length
属性不会受到影响,但指定索引处的元素将被删除,并在数组中留下一个空槽。这可能会导致意外行为。如 MDN 文档 中所述,从数组中删除元素的推荐方法是使用 Array#splice
方法。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-array-delete": "error"
}
};
在游乐场中尝试此规则 ↗
示例
- ❌ 错误
- ✅ 正确
选项
此规则不可配置。
何时不使用它
当您想要允许使用 delete
运算符和数组表达式时。
类型检查的 lint 规则比传统的 lint 规则更强大,但也需要配置 类型检查的 lint。如果您在启用类型检查规则后遇到性能下降,请参阅 性能故障排除。