var let const区别


一、是否存在变量提升?

变量提升:变量可以在申明之前使用。

var声明的变量存在变量提升,全局作用域下是 window 属性

var let const区别
letconst 声明的变量没有变量提升。

var let const区别

二、能否重复声明?

var 能重复声明。

var let const区别
letconst 不能重复声明。

var let const区别

三、变量值能否修改?

varlet 声明的值可以修改。

var let const区别

const 声明的值是常量,不能修改。如果申明的是引用类型,可以修改其属性。

var let const区别

四、是否存在块级作用域?

块级作用域:申明的变量只在该块级作用域内有效。

var 没有块级作用域

var let const区别

letconst 有块级作用域

var let const区别

五、是否存在暂时性死区?

暂时性死区:只要块级作用域有 let或者 const 命令,他们所申明的变量就绑定这个区域,不受外部影响。

var 不存在暂时性死区

var let const区别

letconst存在暂时性死区

var let const区别