let var const 三者的区别

77 阅读1分钟

1、 let

    声明一个变量,变量遵循块级作用域(在花括号内生效)
    没有变量提升(变量提升:能够在变量声明前被使用)
    声明的变量可以被从新赋值
    定义的变量名 不可再次被定义

image.png

2、const

    声明一个常量,常量遵循块级作用域
    没有变量提升
    声明的变量 不可从新赋值

image.png

3、var

    声明一个变量,变量不遵循块级作用域
    具有变量提升

image.png

4、let/const 与 var 的区别

    var 
        1、定义的变量遵循全局作用域/函数作用域
        2、声明的变量 可以 变量提升(执行定义 提升了,值未提升,为 undefined3、变量可以从新被定义
    let/const
        1、定义的变量/常量遵循块级作用域/函数作用域
        2、声明的常量/变量不能变量提升   具有暂时性死区(没有变量提升)
        3、变量不可以从新定义

5、let 与 const 的区别

    let
        1、声明的为变量
        2、声明的变量可以被修改
        3、声明的时候可以没有初始值
    const
        1、声明的为常量
        2、声明的变量不可以被修改
        3、声明必须有初始值