SyntaxError: повторное объявление формального параметра "x"
Исключение JavaScript "redeclaration of formal parameter" (повторное объявление формального параметра) возникает, когда одно и то же имя переменной используется в качестве параметра функции, а затем повторно объявляется с помощью присваивания let в теле функции.
Сообщение
SyntaxError: Identifier "x" has already been declared (V8-based) SyntaxError: redeclaration of formal parameter "x" (Firefox) SyntaxError: Cannot declare a let variable twice: 'x'. (Safari)
Тип ошибки
Что пошло не так?
Одно и то же имя переменной используется в качестве параметра функции, а затем повторно объявляется с помощью присваивания let в теле функции. Повторное объявление одной и той же переменной в пределах одной и той же функции или области видимости блока с использованием let не допускается в JavaScript.
Примеры
Повторно объявленный аргумент
В этом случае переменная "arg" повторно объявляет аргумент.
function f(arg) {
let arg = "foo";
}
// SyntaxError: redeclaration of formal parameter "arg"
Если вы хотите изменить значение "arg" в теле функции, вы можете это сделать, но вам не нужно объявлять ту же переменную снова. Другими словами: вы можете опустить ключевое слово let. Если вы хотите создать новую переменную, вам нужно переименовать ее, так как она уже конфликтует с параметром функции.
function f(arg) {
arg = "foo";
}
function g(arg) {
let bar = "foo";
}
Смотрите также
letconstvar- Грамматика и типы руководство
© 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/Redeclared_parameter