ES6的var/let/const区别

1.let只在代码块中有效

2.var存在变量提升,即变量未声明也可以使用,输出undefined
let/const只能在变量声明之后使用
let/const存在暂时性死区,即在代码块中只要变量未声明在使用时都会报错,不管代码块外部有没有声明
ES6的var/let/const区别_第1张图片

3.let在块级作用域中声明在外部不被更改,每一个块级作用域中的let变量都是独立的
4.const声明的变量为只读变量,不可以修改,

    const指向的是内存地址中所保存的数据,
    基础类型的数据(number,string,boolean)数据值即保存的地址等同于常量,
    对于符合类型的数据(function,array数组)变量指向内存,保存的只是一个指向实际数据的指针,const只能保证指针(即内存地址)的不变,但不能不保证数据结构是否不变,就是你可以改变函数里面的属性,但是不能把对象重新声明指向另一个对象
    ![image.png](/img/bVbLF1a)

5.ES5声明变量的方式:var、function
ES6声明变量的方式:var、function、let、const、import、class

你可能感兴趣的:(前端es6)