let, var, const都是用来声明变量的

var存在声明提升,允许重复定义和赋值的

const 一般用来定义敞亮,值不能被更改,所以在定义时就要赋值,复杂类型不能更改它的地址,如const a = [];她是可以被push的,a[0] = 1;

let和const都只在声明所在的会计作用与有效,不存在变量提升。

let 1.不存在变量声明提升

  2.存在暂时性死区(在代码定义前使用,会报错)

    function(x = y, y =2) {}

  3.不允许重复声明

  4.块级作用域(es5只用全局和函数作用域)

 

posted on 2021-01-23 20:10  zhouyu0001  阅读(44)  评论(0编辑  收藏  举报