JavaScript 中,var、let 和 const 在作用域、提升(Hoisting)和重复声明方面有什么本质区别?请说明一下暂存死区(Temporal Dead Zone)。
考察说明
考察 JavaScript 变量声明机制的底层理解,尤其是作用域、提升和暂时性死区
回答思路
- 准确说明 var 的函数作用域与变量提升,let/const 的块级作用域与不提升
- 解释 let/const 在声明前访问会进入暂时性死区并抛错,var 则返回 undefined
- 指出 const 的引用不可变与对象内容可变的区别
- 区分重复声明:var 可以重复声明,let/const 不允许在相同作用域重复声明
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。