SyntaxError: redeclaration of formal parameter "x" (Firefox) SyntaxError: Identifier "x" has already been declared (Chrome)Тип оÑибки ЧÑо поÑло не Ñак?
Ðдно и Ñо же Ð¸Ð¼Ñ Ð¿ÐµÑеменной ÑнаÑала иÑполÑзовано в каÑеÑÑве паÑамеÑÑа, а поÑом обÑÑвлено еÑÑ Ñаз в Ñеле ÑÑнкÑии Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¾Ð¿ÐµÑаÑоÑа пÑиÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ let
. Ð JavaScript не допÑÑÑимо пеÑеопÑеделение пеÑеменной в ÑамкаÑ
облаÑÑи видимоÑÑи ÑÑнкÑии или блока пÑи помоÑи let
.
Рданном ÑлÑÑае пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ "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";
}
ÐÑимеÑÐ°Ð½Ð¸Ñ Ð¾ ÑовмеÑÑимоÑÑи
TypeError
(Firefox bug 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