我正在使用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:blank。类型
let a;
在控制台两次,你会得到同样的错误