我正在尝试使用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);
谁能解释我为什么会这样?
答案 0 :(得分:2)
好吧,第一次都可以正常工作,问题是您多次执行了代码。下次您会遇到该错误,因为在您之前执行代码时已经定义了var。
尝试以下方法。打开一个新的Chrome浏览器,然后在URL中输入about:blank。键入
let a;
在控制台中两次,您将收到相同的错误