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语法知识点

  • 相关阅读:
    查看邵杨的源码
    java 读写excle
    绘图的引擎
    handler的使用
    小结
    周末,啦啦啦
    监控宝发布移动应用监控服务 引领移动APM
    监控宝优化升级 创新驱动用户体验
    云智慧:顺势而为 做世界级APM服务商
    性能为王:云智慧APM助小米IT服务能力提升
  • 原文地址:https://www.cnblogs.com/yqycr7/p/11761003.html
Copyright © 2011-2022 走看看