• ES6(二) let const


    一:let

    1.块级作用域

       外层作用域无法读取内层作用域的变量。

    2.不存在变量提升

    3.TDZ:暂时性死区

       “暂时性死区”也意味着typeof不再是一个百分之百安全的操作。

        这样的设计是为了让大家养成良好的编程习惯,变量一定要在声明之后使用,否则就报错。

        变量没声明和声明不赋值,返回的都是undefined。

        总之,暂时性死区的本质就是,只要一进入当前作用域,所要使用的变量就已经存在了,但是不可获取,只有等到声明变量的那一行代码出现,才可以获取和使用该变量。

    4.不允许重复声明

    5.js的作用域:   块级作用域         函数作用域     全局作用域 

       为什么需要块级作用域呢? 

       答:两种不合理的场景       1.内层变量可能会覆盖外层变量。     2.用来计数的循环变量泄露为全局变量。   

    二:const

    1.声明的值不可以改变。   初始化必须赋值。

    2.类似于java的final关键字        对于引用数据类型,是引用地址不可变,但引用指向对象是可以变的。

    三:补充

    1.ES6的变量声明:var  function     let   const    import    class

    2.ES5之中,顶层对象的属性全局变量是等价的。    顶层对象的属性与全局变量挂钩,被认为是JavaScript语言最大的设计败笔之一

    思考:

    1.块级作用域的出现,实际上使得获得广泛应用的立即执行函数表达式(IIFE)不再必要了。

  • 相关阅读:
    修改mysql的时间/时区
    vue 3.0一些理解
    关于css中常用几种选择器的整理
    docker中MySQL8.0登录提示caching_sha2_password问题解决方法
    java请求url返回json
    weblogic11G 修改密码
    每天一个小知识
    出一套柠檬班测试开发视频(百度网盘)
    JAVA自动化,使用UIAutomator定位
    JAVA自动化,解决Appium无法输入中文问题
  • 原文地址:https://www.cnblogs.com/njqa/p/7363036.html
Copyright © 2020-2023  润新知