Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

SyntaxError: redeclaration of formal parameter "x"

JavaScript の例外 "redeclaration of formal parameter" は、関数の引数名としてある変数名が発生した後、関数本体内のlet 代入文を使用して同じ変数名を再度宣言すると発生します。

エラーメッセージ

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

エラーの種類

エラーの原因

関数の引数と同名の変数があり、関数内で再度let 代入文を使用して再宣言しています。 JavaScript では、同じ関数内やブロックスコープ内でlet を使用して同じ変数を再宣言できません。

再宣言した引数

この場合、変数 "arg" は、引数を再宣言しています。

js
function f(arg) {  let arg = "foo";}// SyntaxError: redeclaration of formal parameter "arg"

関数の本体内で "arg" の値を変更したい場合、これを行うことはできますが、再び同じ変数を宣言する必要はありません。言い換えれば、let キーワードを省略することができます。新しい変数を生成する場合は、既存の関数の引数と競合するので、変数名を変更する必要があります。

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

関連情報

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp