A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Errors/Redeclared_parameter below:

SyntaxError: redeclaration of formal parameter "x" - JavaScript

SyntaxError: redeclaration of formal parameter "x" Сообщение
SyntaxError: redeclaration of formal parameter "x" (Firefox)
SyntaxError: Identifier "x" has already been declared (Chrome)
Тип ошибки Что пошло не так?

Одно и то же имя переменной сначала использовано в качестве параметра, а потом объявлено ещё раз в теле функции с помощью оператора присваивания let. В JavaScript не допустимо переопределение переменной в рамках области видимости функции или блока при помощи let.

Примеры

В данном случае переменная "arg" переопределяет аргумент:

function f(arg) {
  let arg = "foo";
}

// SyntaxError: redeclaration of formal parameter "arg"

Если вы хотите изменить значение переменной "arg" в теле функции, это можно сделать, но для этого не требуется объявлять эту же переменную ещё раз. Иначе говоря, ключевое слово let можно опустить. Если же вы хотите создать новую переменную, необходимо её переименовать, поскольку в противном случае она вступает в конфликт с уже существующим параметром функции.

function f(arg) {
  arg = "foo";
}

function f(arg) {
  let bar = "foo";
}
Примечания о совместимости Смотрите также

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4