Spec-Zone.ru › ESLint

no-array-constructor

Запрещает конструкторы Array

🔧 Можно исправить

Некоторые проблемы, о которых сообщает это правило, автоматически исправляются параметром --fix командной строки

💡 Есть предложения

Некоторые проблемы, о которых сообщает это правило, можно исправить вручную с помощью предложений редактора

Использование конструктора Array для создания нового массива обычно не рекомендуется: предпочтительнее использовать литеральную запись массива из-за ловушки с одним аргументом, а также потому, что глобальный объект Array может быть переопределён. Исключение составляет случай, когда конструктор Array используется для намеренного создания разреженного массива заданного размера с помощью одного числового аргумента.

Описание правила

Это правило запрещает конструкторы Array.

Примеры некорректного кода для этого правила:

Открыть в Playground
/*eslint no-array-constructor: "error"*/

Array();

Array(0, 1, 2);

new Array(0, 1, 2);

Array(...args);

Примеры корректного кода для этого правила:

Открыть в Playground
/*eslint no-array-constructor: "error"*/

Array(500);

new Array(someOtherArray.length);

[0, 1, 2];

const createArray = Array => new Array();

Это правило также поддерживает синтаксис типов TypeScript.

Примеры корректного кода для этого правила:

Открыть в Playground
/*eslint no-array-constructor: "error"*/

new Array<number>(1, 2, 3);

new Array<Foo>();

Array<number>(1, 2, 3);

Array<Foo>();

Array?.foo();

Примеры некорректного кода для этого правила:

Открыть в Playground
/*eslint no-array-constructor: "error"*/

new Array();

new Array(0, 1, 2);

Array?.(x, y);

Array?.(0, 1, 2);

Параметры

У этого правила нет параметров.

Когда не следует использовать это правило

Это правило проверяет практически общепринятый стилистический аспект. Тем не менее его можно отключить, если предпочтителен стиль с использованием конструктора.

Связанные правила

  • no-new-wrappers
  • no-object-constructor

Версия

Это правило появилось в ESLint v0.4.0.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-array-constructor

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API