Spec-Zone.ru › JavaScript

SyntaxError: arguments недопустим в полях

Исключение JavaScript "SyntaxError: arguments is not valid in fields" возникает, когда идентификатор arguments считывается в инициализаторе поля класса или в блоке статической инициализации, вне не-стрелочной функции.

Сообщение

SyntaxError: 'arguments' is not allowed in class field initializer or static initialization block (V8-based)
SyntaxError: arguments is not valid in fields (Firefox)
SyntaxError: Unexpected identifier 'arguments'. Cannot reference 'arguments' in class field initializer. (Safari)

Тип ошибки

SyntaxError

Что пошло не так?

Выражение инициализатора поля класса или блок статической инициализации класса не имеет arguments в своей области видимости. Попытка доступа к нему является синтаксической ошибкой.

  • Это справедливо, даже если arguments привязан в родительской области видимости (например, когда класс вложен в не-стрелочную функцию).
  • Не-стрелочная функция, объявленная в этой области видимости, по-прежнему будет привязывать свой собственный arguments и считывать его обычным образом.

Примеры

function makeOne() {
  class C {
    args = { ...arguments }; // SyntaxError: arguments is not valid in fields
  }
  return new C();
}
let CArgs;
class C {
  static {
    CArgs = arguments; // SyntaxError: arguments is not valid in fields
  }
}
class C {
  args = {};
  constructor() {
    this.args = arguments; // You can use arguments in constructors
  }
  myMethod() {
    this.args = arguments; // You can also use it in methods
  }
}
function makeOne() {
  const _arguments = arguments;
  class C {
    args = { ..._arguments }; // Only the identifier is forbidden
  }
  return new C();
}

Смотрите также

  • Классы
  • Публичные поля класса
  • Блоки статической инициализации

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Arguments_not_allowed

Spec-Zone.ru

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