美文网首页
变量声明

变量声明

作者: 5b5072cc2c5b | 来源:发表于2019-03-27 12:38 被阅读0次

    es6声明变量的六种方法:

    var,function,let,const, class, import

    let:
    • let有块级作用域
    • let不存在变量提升(在声明之前不可使用)
    • let有暂时性死区(只要在块级作用域中有使用let声明,所声明的变量就会绑定这个区域,不受外界的影响)
    • let不允许重复声明
    const:
    • const是一个只读变量,一旦声明,其值不可改变
    • const同样不存在变量提升,有暂时性的死区,不允许重复声明,只能在声明之后使用

    const实际上保证的不是变量的值不可改变,而是变量所指向的内存地址不可改变
    对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。
    对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心

    为什么需要块级作用域

    1.内部变量可能会覆盖外层变量
    2.用来计数的循环变量泄露为全局变量

    相关文章

      网友评论

          本文标题:变量声明

          本文链接:https://www.haomeiwen.com/subject/spqzvqtx.html