no-array-constructor
禁止 Array
构造函数
此规则报告的一些问题可通过编辑器建议手动修复
通常不鼓励使用 Array
构造函数来构造一个新数组,而是使用数组字面量表示法,因为存在单参数陷阱并且可能会重新定义 Array
全局变量。例外情况是当 Array 构造函数用于通过给构造函数提供单个数字参数来有意创建指定大小的稀疏数组时。
¥Use of the Array
constructor to construct a new array is generally
discouraged in favor of array literal notation because of the single-argument
pitfall and because the Array
global may be redefined. The exception is when
the Array constructor is used to intentionally create sparse arrays of a
specified size by giving the constructor a single numeric argument.
规则详情
¥Rule Details
此规则不允许 Array
构造函数。
¥This rule disallows Array
constructors.
此规则的错误代码示例:
¥Examples of incorrect code for this rule:
/*eslint no-array-constructor: "error"*/
Array();
Array(0, 1, 2);
new Array(0, 1, 2);
Array(...args);
此规则的正确代码示例:
¥Examples of correct code for this rule:
/*eslint no-array-constructor: "error"*/
Array(500);
new Array(someOtherArray.length);
[0, 1, 2];
const createArray = Array => new Array();
何时不使用
¥When Not To Use It
这条规则强制执行一个几乎普遍的文体问题。话虽如此,如果首选构造函数样式,则可以禁用此规则。
¥This rule enforces a nearly universal stylistic concern. That being said, this rule may be disabled if the constructor style is preferred.
相关规则
版本
此规则是在 ESLint v0.4.0 中引入。