zoukankan      html  css  js  c++  java
  • ECMAScript 6 入门学习笔记(一)——let和const

    一、let

      ①声明变量 let a = 1;

      ②只在所在代码块内有效,不影响块以外

      ③不存在变量提升(不能先用后声明)

      ④暂时性死区

        let声明的变量“绑定”这个区域,不受外部影响。

        let声明之前,都是这个变量的‘死区’

        注:typeof在死区是ReferenceError,没声明是“undefined”

      ⑤不能重复声明同一个变量

    二、块级作用域

      ① 允许块级作用域的任意嵌套,外层作用域无法读取内层作用域的变量,内层作用域可以定义外层作用域的同名变量 

    // IIFE 写法
    (function () {
        var tmp = ...;
        ...
    }());
    
    // 块级作用域写法
    {
        let tmp = ...;
        ...
    }

      ②允许在块级作用域之中声明函数(不建议使用,浏览器环境不同,差异大)

      ③do表达式(得到块级作用域的返回值)

    let x = do {
        let t = f();
        t * t + 1;
    };

    三、const

      ①声明一个只读的常量。一旦声明,常量的值就不能改变。

      ②不能只声明不赋值

      ③只在声明所在的块级作用域内有效

      ④存在暂时性死区,只能在声明的位置后面使用

      ⑤不可重复声明

      ⑥本质:const实际上是保证变量指向的内存地址不得改动,不是变量值不能改(对象和数组)

      ⑦es6六种声明变量方法:var,function,let,const,import,class

    四、顶层对象的属性

      ①顶层对象:浏览器 --> window对象 Node --> global对象

      ②var命令和function命令声明的全局变量,属于顶层对象的属性;
         let命令、const命令、class命令声明的全局变量,不属于顶层对象的属性

    五、global对象

      ①顶层对象不一定总能取到,system.global让global作为顶层对象,让它在各种环境下都存在。

  • 相关阅读:
    nodejs
    jsp路径问题之base
    WordPress固定链接修改后访问文章页面404
    IntelliJ IDEA使用教程 (总目录篇)
    SQL SELECT DISTINCT 语句
    数据库的内连接、外连接(左外连接、右外连接、全外连接)以及交叉连接(转)
    SQL之group by 和 having
    SQL之group by
    通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。
    java.lang.NoClassDefFoundError: Could not initialize class com.demo.jdbc.utils.MyJdbcUtils
  • 原文地址:https://www.cnblogs.com/MaiJiangDou/p/6768644.html
Copyright © 2011-2022 走看看