Spec-Zone.ru › ESLint

prefer-rest-params

Требовать использование rest параметров вместо arguments

В ES2015 есть rest параметры. Мы можем использовать эту возможность для вариативных функций вместо переменной arguments

arguments не имеет методов Array.prototype, поэтому это немного неудобно.

Подробное описание правила

Это правило предназначено для выявления использования переменных arguments

Примеры

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

Открыть в Playground
/*eslint prefer-rest-params: "error"*/

function foo() {
    console.log(arguments);
}

function foo(action) {
    var args = Array.prototype.slice.call(arguments, 1);
    action.apply(null, args);
}

function foo(action) {
    var args = [].slice.call(arguments, 1);
    action.apply(null, args);
}

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

Открыть в Playground
/*eslint prefer-rest-params: "error"*/

function foo(...args) {
    console.log(args);
}

function foo(action, ...args) {
    action.apply(null, args); // or `action(...args)`, related to the `prefer-spread` rule.
}

// Note: the implicit arguments can be overwritten.
function foo(arguments) {
    console.log(arguments); // This is the first argument.
}
function foo() {
    var arguments = 0;
    console.log(arguments); // This is a local variable.
}

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

Это правило не должно использоваться в средах ES3/5.

В ES2015 (ES6) или более поздних версиях, если вы не хотите получать уведомления о переменных arguments, то вы можете безопасно отключить это правило.

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

  • prefer-spread

Версия

Это правило было добавлено в ESLint v2.0.0-alpha-1.

Ресурсы

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

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/prefer-rest-params

Spec-Zone.ru

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