乐字节吧 关注:46贴子:744
  • 3回复贴,共1

var和let/const的区别及补充(ES6的代码块级作用域)(第七点)

取消只看楼主收藏回复

7、总结: let、const 以及 var 的区别是什么?
let 和 const 定义的变量不会出现变量提升,而 var 定义的变量会提升。
let 和 const 是JS中的块级作用域
let 和 const 不允许重复声明(会抛出错误)
let 和 const 定义的变量在定义语句之前,如果使用会抛出错误(形成了暂时性死区),而 var 不会。
const 声明一个只读的常量。一旦声明,常量的值就不能改变(如果声明是一个对象,那么不能改变的是对象的引用地址)
let/const 也存在变量声明提升,只是没有初始化分配内存。 一个变量有三个操作,声明(提到作用域顶部),初始化(赋默认值),赋值(继续赋值)
let 是一开始变量声明提升,然后没有初始化分配内存,代码执行到那行初始化,之后对变量继续操作是赋值。因为没有初始化分配内存,所以会报错,这是暂时性死区


1楼2022-04-09 00:18回复
    很不错呀


    来自iPhone客户端2楼2022-04-10 01:46
    回复
      上去


      来自iPhone客户端3楼2022-04-11 07:21
      回复


        来自iPhone客户端4楼2022-04-11 07:21
        回复