no-sparse-arrays
Запретить разреженные массивы
Использование конфигурации recommended из @eslint/js в файле конфигурации включает эту проверку
Разреженные массивы содержат пустые ячейки, чаще всего из-за использования нескольких запятых в литерале массива, например:
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", ];
Когда не использовать это правило
Если вам необходимо использовать разреженные массивы, то безопасно отключить это правило.
Версия
Это правило было добавлено в ESLint v0.4.0.
Дополнительные материалы
Источники
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-sparse-arrays