no-sparse-arrays
不允许稀疏数组(无稀疏数组)
"extends": "eslint:recommended"
配置文件中的属性启用此规则。
稀疏数组包含空插槽,最常见的原因是在数组文字中使用了多个逗号,例如:
var items = [,,];
虽然items
在这个例子中的数组有length
2个,但实际上在items[0]
或中没有值items[1]
。事实上,数组文字只有逗号才有效,加上length
被设置的和实际的项目值没有被设置,这使得稀疏数组对于许多开发者来说变得混乱。考虑以下:
var colors = [ "red",, "blue" ];
在这个例子中,colors
数组有length
3个。但是开发人员是否打算在数组中间有一个空白点?还是它是一个错字?
以这种方式定义的稀疏数组的混淆是足够的,建议避免使用它们,除非您确定它们对您的代码有用。
规则细节
这条规则不允许稀疏数组文字,它们在逗号前没有元素的地方有“孔”。它不适用于最后一个元素之后的尾随逗号。
此规则的错误
代码示例:
/*eslint no-sparse-arrays: "error"*/
var items = [,];
var colors = [ "red",, "blue" ];
此规则的正确
代码示例:
/*eslint no-sparse-arrays: "error"*/
var items = [];
var items = new Array(23
// trailing comma (after the last element) is not a problem
var colors = [ "red", "blue", ];
何时不使用它
如果你想使用稀疏数组,那么禁用这个规则是安全的。
Further Reading
- 不一致的数组文字版本此规则是在 ESLint 0.4.0.Resources中引入的