Movatterモバイル変換


[0]ホーム

URL:


  1. 給開發者的 Web 技術文件
  2. JavaScript
  3. JavaScript 參考文件
  4. JavaScript 錯誤參考
  5. SyntaxError: redeclaration of formal parameter "x"

此頁面由社群從英文翻譯而來。了解更多並加入 MDN Web Docs 社群。

View in EnglishAlways switch to English

SyntaxError: redeclaration of formal parameter "x"

JavaScript 的「redeclaration of formal parameter」例外會在函式參數中出現了相同的變數名稱,且函式主體中又再次使用let 賦值來重複宣告它時發生。

訊息

SyntaxError: Identifier "x" has already been declared(基於 V8)SyntaxError: redeclaration of formal parameter "x"(Firefox)SyntaxError: Cannot declare a let variable twice: 'x'.(Safari)

錯誤類型

SyntaxError

發生了什麼問題?

當函式參數中出現了相同的變數名稱,且函式主體中又再次使用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 g(arg) {  let bar = "foo";}

參見

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp