
no-sparse-arrays
不允許稀疏陣列
✅ 建議
在設定檔中使用來自@eslint/js
的recommended
設定,即可啟用此規則
稀疏陣列包含空插槽,最常見的原因是在陣列字面值中使用了多個逗號,例如
const items = [,,];
雖然此範例中的 items
陣列長度為 2,但實際上 items[0]
或 items[1]
中沒有值。僅包含逗號的陣列字面值是有效的,加上設定了 length
但未設定實際項目值的事實,使得稀疏陣列對許多開發人員來說感到困惑。考慮以下範例
const colors = [ "red",, "blue" ];
在此範例中,colors
陣列的長度為 3。但開發人員是否打算在陣列中間有一個空位?還是只是打錯字?
以這種方式定義的稀疏陣列造成的混淆足以建議避免使用它們,除非您確定它們在您的程式碼中很有用。
規則詳情
此規則不允許具有「空洞」的稀疏陣列字面值,其中逗號前面沒有元素。它不適用於最後一個元素後面的尾隨逗號。
錯誤程式碼範例(此規則)
在 Playground 中開啟
/*eslint no-sparse-arrays: "error"*/
const items = [];
const colors = [ "red", "blue" ];
正確程式碼範例(此規則)
在 Playground 中開啟
/*eslint no-sparse-arrays: "error"*/
const items = [];
const arr = new Array(23);
// trailing comma (after the last element) is not a problem
const colors = [ "red", "blue", ];
何時不該使用它
如果您想使用稀疏陣列,那麼停用此規則是安全的。
版本
此規則在 ESLint v0.4.0 中引入。
延伸閱讀
