zoukankan      html  css  js  c++  java
  • ES6语法知识点

    let/const(常用)

    let,const用语声明变量,用来替代老语法的var关键字,与var不同的是,let/const会创建一个块级作用域(如图)

     如图在块级作用域外部无法获取已声明的let

    案例:if/for关键字结合let/const创建的块级作用域  

     for循环三部分,第一部分包含变量声明(在for循环中智慧执行一次),第二部分包含循环退出的条件,第三部分包含每次循环最后要执行的表达式

     

     使用let/const关键字声明变量的for循环时,除了会创建块级作用域,let/const还会将声明的变量绑定到每个循环中,可以理解为

    let/const中的for循环给每次循环创建一个块级作用域:

     

     暂时性死区

    使用let/const声明的变量,从一开始就形成了封闭作用域,在声明变量之前是无法使用这个变量的,这个特点也是为了弥补var的缺陷(var声明的变量有

    变量提升)暂时性死区其实是为了防止ES5以前在变量声明前就使用这个变量,这是因为var的变量提升的特性导致一些不熟悉var原理的开发者习以为常的以为变量可以先使用在声明,从而埋下一些隐患

    const

    const关键字用于声明一个常量(即不会改变的量)。

    const与let的区别:

    1. const声明变量的时候必须赋值,否则会报错,同样使用const声明的变量被修改了也会报错

      2.const声明变量不能改变,如果声明的是一个引用类型,则不能改变它的内存地址

    tips:根据ES6规定的特点,在日常开发中即便没有在块级作用域中声明变量,let/const声明的变量也不会变为全局变量


    如图let声明的变量x是在一个叫script的作用域下的,而var声明的变量因为变量提升所以提升到了全局变量window对象中,这使我们能放心的使用新语法,不用担心污染全局的window对象

    建议

    一般的变量声明使用let关键字,而当声明一些配置项(类似接口地址,npm依赖包,分页器默认页数等一些一旦声明后就不会改变的变量)的时候可以使用const,来显式的告诉项目其他开发者,这个变量是不能改变的(const声明的常量建议使用全大写字母标识,单词间用下划线)

    参考资料:ES6语法知识点

  • 相关阅读:
    ArcEngine中删除地物点(C#)
    Siliverlight常识
    ArcEngine 中打开数据源的连接 AO学习资料笔记
    第一次执行时没有问题,重复执行会出错、GP循环
    理解 ArcObjects 中的游标
    AO 中关于坐标系统的感想 AO学习资料 阅读
    http://www.chinabzw.com/bzlist/7_1.htm
    Delphi 文件操作(4)Reset
    c 语言指针
    Delphi 获取星期几
  • 原文地址:https://www.cnblogs.com/yqycr7/p/11761003.html
Copyright © 2011-2022 走看看