From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../errors/redeclared_parameter/index.html | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 files/pt-br/web/javascript/reference/errors/redeclared_parameter/index.html (limited to 'files/pt-br/web/javascript/reference/errors/redeclared_parameter') diff --git a/files/pt-br/web/javascript/reference/errors/redeclared_parameter/index.html b/files/pt-br/web/javascript/reference/errors/redeclared_parameter/index.html new file mode 100644 index 0000000000..901557d13b --- /dev/null +++ b/files/pt-br/web/javascript/reference/errors/redeclared_parameter/index.html @@ -0,0 +1,60 @@ +--- +title: 'SyntaxError: redeclaration of formal parameter "x"' +slug: Web/JavaScript/Reference/Errors/Redeclared_parameter +tags: + - Erros +translation_of: Web/JavaScript/Reference/Errors/Redeclared_parameter +--- +
{{jsSidebar("Errors")}}
+ +

Mensagem

+ +
SyntaxError: Let/Const redeclaration (Edge)
+SyntaxError: redeclaration of formal parameter "x" (Firefox)
+SyntaxError: Identifier "x" has already been declared (Chrome)
+
+ +

Tipo de Erro

+ +

{{jsxref("SyntaxError")}}

+ +

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.

+ +

Exemplos

+ +

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

+ + + +

Veja também

+ + -- cgit v1.2.3-54-g00ecf