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) {
    const args = Array.prototype.slice.call(arguments, 1);
    action.apply(null, args);
}

function foo(action) {
    const 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() {
    const 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