如何解决JavaScript 中 let 变量的提升
我定义了以下函数:
const func = ()=>{
let a = new Array(2).fill().map(i => new Array(2).fill(1));
console.log(`%o`,a);
a[0][0]++;
return a;
}
当我在 DevTools 中实现 func()
时,结果是这样的:
(2) [Array(2),Array(2)]
0: (2) [2,1]
1: (2) [1,1]
length: 2
__proto__: Array(0)
(2) [Array(2),1]
length: 2
__proto__: Array(0)
我想要第一个
console.log(`%o`,a);
成为
[[1,1],[1,1]]
但结果出乎意料。
为什么会这样?这是 hoisting
的示例吗?
任何信息将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。