no-array-constructor

禁止 Array 构造函数

💡 hasSuggestions

此规则报告的一些问题可通过编辑器建议手动修复

通常不鼓励使用 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 中引入。

资源

ESLint 中文网
粤ICP备13048890号