var const let 区别

  • 先从const来说,const只是声明一个常量,这个常量是后面代码不允许修改的,然后它只能应用于块级作用域,并且也不能重复定义相同的属性名
  • let,声明一个变量,它也只能运用于块级作用域,并且不能重复定义相同的属性名
  • var,声明一个变量,它可以跨块访问,它存在变量提升的现象,下面是一个变量提升的例子,在console.log打印属性a但是在console.log下面再使用var定义a,如果换做const或者let那么就会报错,但是这个只会报undefind,因为var变量提上,将a提升到作用于顶端了。
  console.log(a);  //undefined
    var a = 123; 

因为变量a的声明被提到了作用域顶端。上面代码编译后应该是下面这个样子

var a;
console.log(a)
a = 123
//所以输出内容为 undeifend

你可能感兴趣的:(var const let 区别)