Javascript 在 Chrome 控制台中销毁

Javascript destructing in Chrome console

我正在尝试 JavaScript 使用 Chrome 的控制台选项卡中的以下代码进行破坏,这会给我 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:blank。输入

let a;

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