当前位置: 首页> 科技> 能源 > 【前端面经】JS 中 var、let、const 变量声明方式及其区别?

【前端面经】JS 中 var、let、const 变量声明方式及其区别?

时间:2025/8/16 11:41:25来源:https://blog.csdn.net/weixin_52401264/article/details/139153925 浏览次数:0次

JS 中三种变量声明方式及其区别

  • 三种变量声明方式及其区别
    • var、let、const 的对比
    • 变量的提升

三种变量声明方式及其区别

var、let、const 的对比

特性varletconst
函数作用域√(变量在函数中声明时)not onlynot only
全局作用域√(变量在函数外声明时)××
块级作用域×√(变量声明的所在代码块)√(变量声明的所在代码块)
重新声明
重新赋值

const 的不可变性const 声明的变量必须初始化,且不能重新赋值。但是对于复杂数据类型(如对象),可以修改其中的内容。

变量的提升

  • var 的提升:变量被提升到作用域顶部并初始化;可以在声明之前访问,值为 undefined
  • let 的提升:变量被提升到作用域顶部但不初始化;不可以在声明之前访问,会报错 ReferenceError(称为暂时性死区,TDZ)
  • const 的提升:变量被提升到作用域顶部但不初始化;不可以在声明之前访问,会报错 ReferenceError(称为暂时性死区,TDZ)

暂时性死区的说明:所谓暂时性死区,指的是在进入作用域直到变量声明被执行之前的这段时间内,变量是存在的但是无法被访问,任何访问都会导致 ReferenceError

关键字:【前端面经】JS 中 var、let、const 变量声明方式及其区别?

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: