0

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

谁能解释我为什么会这样?

4

1 回答 1

2

好吧,第一次都可以正常工作,问题是您多次执行代码。下次您将遇到该错误,因为在您之前执行代码时已经定义了 var。

试试下面的。打开一个新的 chrome 浏览器并在 URL 中输入 about:blank。类型

let a;

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

于 2018-11-22T18:39:55.747 回答