|
|
|
|
|
|
Uncaught SyntaxError: redeclaration of ... 是重聲明錯誤類型,在上一文中我進行了分析記錄[解決]Uncaught SyntaxError: Identifier '...' has already been declared,這是因為某個變量名稱已經作為函數參數出現了,但是又使用了 let 在函數體里重聲明了。在JavaScript 中不允許使用let在相同的函數或塊范圍內重新聲明相同的變量。

下面示例,分析了 SyntaxError: redeclaration 這個問題。
在本例中,參數 "arg" 又重新聲明了:
function f(arg) {
let arg = "foo";
}輸出:
SyntaxError: redeclaration of formal parameter "arg"
如果要更改函數體中的“arg”的值,可以像下面一樣,但不需要再次聲明同一個變量。 換句話說:你可以省略 let 關鍵字。 如果要創建一個新變量,則需要將其重命名,因為其與函數參數有沖突。
function f(arg) {
arg = "foo";
}
function f(arg) {
let bar = "foo";
}參考文章
