SyntaxError: Let/Const redeclaration (Edge) SyntaxError: redeclaration of formal parameter "x" (Firefox) SyntaxError: Identifier "x" has already been declared (Chrome)Tipo de Erro O que deu errado?
O mesmo nome de variável ocorre como parâmetro da função e é então redeclarada atribuindo let
no corpo da função. Redeclarando a mesma variável dentro da mesma função ou no escopo do bloco usando let
não é permitido em JavaScript.
Neste caso, a variável "arg" redeclara o argumento.
function f(arg) {
let arg = "foo";
}
// SyntaxError: redeclaration of formal parameter "arg"
Se você quiser mudar o valor de "arg" no corpo da função, você pode fazer, mas você não precisa declarar novamente a mesma variável. Em outras palavras: você pode omitir a palavra chave let
. Se você quiser criar uma nova variável, você precisa renomea-la, pois isso conflita com o parâmetro da função.
function f(arg) {
arg = "foo";
}
function f(arg) {
let bar = "foo";
}
Notas de compatibilidade
TypeError
(Erro do Firefox 1275240).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