Chrome控制台中的Javascript破坏



我正在尝试用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;

在控制台中两次,你会得到相同的错误

最新更新