no-array-delete
禁止對陣列值使用
delete
運算子。
🔒
擴充 “plugin:@typescript-eslint/strict-type-checked"
in an ESLint 設定 啟用此規則。
💡
這個規則報告的一些問題可以由編輯手動修復 建議.
💭
此規則需要 類型資訊 來執行。
當對陣列值使用 delete
運算子時,陣列的 length
屬性不受影響,但指定的索引處的元素會被移除並在陣列中留下一個空槽。這很可能會導致意外的行為。如 MDN 文件 所述,建議從陣列中移除元素的方法是使用 Array#splice
方法。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-array-delete": "error"
}
};
在遊樂場中嘗試這個規則 ↗
範例
- ❌ 不正確
- ✅ 正確
選項
此規則無法設定。
何時不要使用
當您想允許 delete 運算子與陣列運算式一起使用時。
類型檢查的規則比傳統規則更強大,但需要設定類型檢查的規則。如果您在啟用類型檢查的規則後遇到效能下降,請參閱效能疑難排解。