今天在看老代码的时候发现了一点疑问
// a === 1
const b = () => {
a()
}
const a = () => {console.log(1)}
b()
读到上述代码发现const理论上不会被提升到代码顶部,为什么b函数内的a会被正确执行?
// a is not defined
const b = () => {
a()
const a = () => {console.log(1)}
}
b()
这段代码符合我的预期,在const之前就调用了a 。所以a不会执行
我查阅了一下资料。认为和es6的代码块作用域有关系,可是自己也没有琢磨明白。希望大佬给予指点
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…