var let const 的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了var let const 的区别相关的知识,希望对你有一定的参考价值。

Var let const 的区别

1.Var 定义的变量存在变量提升,而了let和const不存在变量提升。即在定义的变量代码上使用该变量,var的会输出undefined,而let的会报错。

2.var不存在暂时性死区,而let存在,只要块级作用域内存在let,它所声明的变量就绑定了这个区域,不在受外部的影响  

例如:var tem=123;

if(true){

tem=’abc’;   //报错 ReferenceError,因为在if里声明了let,形成了自己的作用域,外部的访问不到,所以相当于tem在没有声明前已经在使用了。所以出现了变量提升的错误。

let tem;

}

暂时性死区TDZ,即在代码块内,用let声明变量之前,该变量都是不可以用的。

3.let 与const 不允许重复声明同一个变量

4.const是个只读的常量,一旦声明,常量的值不可改变,并且只在自己声明的块级作用域有效。因为他和let有自己的作用域。对于复杂类型,可以改变其指针指向而改变其const定义的值。

以上是关于var let const 的区别的主要内容,如果未能解决你的问题,请参考以下文章

var和let/const的区别

let,const 与 var的区别

var let const 的区别

var,let和const的区别是什么?

var, let ,const区别

大场面经6.30 let,const,var 的区别,const 定义的对象是否可以修改