跳转到内容

useArrayLiterals

Diagnostic Category: lint/correctness/useArrayLiterals

Since: v1.7.2

Sources:

Disallow Array constructors.

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 intentionally creates sparse arrays of a specified size by giving the constructor a single numeric argument.

const xs = Array();
code-block.js:1:12 lint/correctness/useArrayLiterals  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Use an array literal instead of the Array constructor.

> 1 │ const xs = Array();
^^^^^^^
2 │

The Array constructor is misleading because it can be used to preallocate an array of a given length or to create an array with a given list of elements.

Unsafe fix: Use an array literal.

1 - const·xs·=·Array();
1+ const·xs·=·[];
2 2

const xs = Array(0, 1, 2);
code-block.js:1:12 lint/correctness/useArrayLiterals  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Use an array literal instead of the Array constructor.

> 1 │ const xs = Array(0, 1, 2);
^^^^^^^^^^^^^^
2 │

The Array constructor is misleading because it can be used to preallocate an array of a given length or to create an array with a given list of elements.

Unsafe fix: Use an array literal.

1 - const·xs·=·Array(0,·1,·2);
1+ const·xs·=·[0,·1,·2];
2 2

const xs = new Array(0, 1, 2);
code-block.js:1:12 lint/correctness/useArrayLiterals  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Use an array literal instead of the Array constructor.

> 1 │ const xs = new Array(0, 1, 2);
^^^^^^^^^^^^^^^^^^
2 │

The Array constructor is misleading because it can be used to preallocate an array of a given length or to create an array with a given list of elements.

Unsafe fix: Use an array literal.

1 - const·xs·=·new·Array(0,·1,·2);
1+ const·xs·=·[0,·1,·2];
2 2

const xs = Array(...args);
code-block.js:1:12 lint/correctness/useArrayLiterals  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Use an array literal instead of the Array constructor.

> 1 │ const xs = Array(…args);
^^^^^^^^^^^^^^
2 │

The Array constructor is misleading because it can be used to preallocate an array of a given length or to create an array with a given list of elements.

Unsafe fix: Use an array literal.

1 - const·xs·=·Array(...args);
1+ const·xs·=·[...args];
2 2

const xs = Array(65000);
const xs = [0, 1, 2];