zoukankan      html  css  js  c++  java
  • let和const命令新总结

    let声明变量

    新特性

    • 声明的变量仅仅在块级作用域有效
      块级作用域:外层作用于无法读取内层作用于周中的变量,内层作用域可以定义外层作用于中的同名变量

    • 不存在变量提升

    • 暂时性死区
      只要在块级作用域内存在let命令,他所生声明的变量就“绑定”这个区域,不在受外部影响。

        var tmp =1233;
        
        if(true){
            tmp = "adde";
            let tmp;
        }
      

    上面的代码存在全局变量tmp,但是块级作用域内let声明了一个局部变量,导致这个变量被啊绑定这个区域,所以在使用之前必须声明,但是这里是先赋值在声明。
    如果块级作用域中存在let和const命令,则这个区域中对声明的变量一开始就有了封闭作用,在使用之前必须先声明。

    • 不允许重复声明

    解决es5的一些问题

    • 块级作用域
      包括:内层变量不在覆盖外层变量;防止循环变量变成全局变量
    • 暂时性死区和不存在变量提升
      减少运行时的错误;防止变量声明前就使用这个变量。

    const声明常量

    声明基本类型

    • 一旦声明,值不可改变;
    • 声明的时候必须赋值,否则报错;
    • 只在块级作用域内有效
    • 存在暂时性死区
    • 不可重复声明

    声明对象

    • 变量名指向数据所在的地址,但是只保证变量名指向的地址不变。
    • 不可以重新赋值{不能让变量名指向另一个地址};
    • 对象本身是可变的,依然可以添加新的属性。
  • 相关阅读:
    Win7+Ubuntu11.10(EasyBCD硬盘安装)
    hdu 3661 Assignments
    hdu 1128 Self Numbers
    CF 152 B. Chilly Willy
    hdu 1754 I Hate It
    A survey of wireless network simulation and/or emulation software for use in higher education
    How to Fix Packet Loss: Causes, Simple Solutions & Top Tools
    getchar函数
    C++“左值”和“右值”
    stdio.h中的stdio
  • 原文地址:https://www.cnblogs.com/yehui-mmd/p/7397954.html
Copyright © 2011-2022 走看看