我正在尝试用Chrome控制台选项卡中的以下代码进行JavaScript破坏,这给了我Uncaught SyntaxError: Identifier 'a' has already been declared
异常
o = { a: "foo", b: 12, c: "bar" };
let { a, b } = o;
console.log(a);
console.log(b);
output:
foo
12
但只要更改变量名,它就会运行良好,比如下面的
o = { p: "foo", q: 12, r: "bar" };
let { p, q } = o;
console.log(p);
console.log(q);
有人能解释一下为什么会发生这种事吗?
好吧,第一次两者都能正常工作,问题是您多次执行代码。下一次您将出现该错误,因为在您之前执行代码时已经定义了var。
请尝试以下操作。打开一个新的chrome浏览器,然后在URL中键入about:black。型
let a;
在控制台中两次,你会得到相同的错误