• ES6 let与const


    let与const

    let

    1. 暂时性死区

    ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。语法上成为暂时性死区。

    1. typeof运算符是百分之百安全的设定不再成立。

    typeof a; // ReferenceError
    let a;

    1. 不允许重复声明变量。
    2. 出现块级作用域的概念。

    块: { }
    ES6 引入了块级作用域,明确允许在块级作用域之中声明函数。ES6 规定,块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。

    1. ES6 的块级作用域必须有大括号,如果没有大括号,JavaScript 引擎就认为不存在块级作用域。let只能出现在当前作用域的顶层,函数也是如此。
    let flag = false;
    if(flag)  let b = 2; // 报错
    // 正确
    if (flag) {
        let b = 2;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    const

    1. const声明一个只读的常量。一旦声明,常量的值就不能改变。
    2. 块级作用域内有效。
    3. 存在暂时性死区,作用域不可提升。
    4. const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。(特别注意)

    ES6中声明变量的六种方式

    var[es5],function[es5],let,const,import,class

    顶层对象

    1. 浏览器环境指的是window,node环境指的是global。
    2. ES6 开始,全局变量将逐步与顶层对象的属性脱钩。
    3. ES2020 在语言标准的层面,引入globalThis作为顶层对象。也就是说,任何环境下,globalThis都是存在的,都可以从它拿到顶层对象,指向全局环境下的this。
  • 相关阅读:
    同态加密为什么能被称为密码学的“圣杯”?
    java头歌-java中的异常
    rust学习(第一章)
    基地树洞 | 自动化小系列之OS脚本篇
    解锁数据潜能:构建高效数据仓库的策略与实践
    Replication(下):事务,一致性与共识
    Nodejs安装及npm配置(超详细)
    Gumbel-Softmax完全解析
    k8s简介
    【状语从句练习题】连词位置
  • 原文地址:https://blog.csdn.net/qq_40624026/article/details/126025040