zoukankan      html  css  js  c++  java
  • ES6系列一 let const

    一丶let

    1.使用let声明一个变量,会生成一个独立的作用域,比var的作用域更为严谨,比如for循环

    var a = [];
    for (var i = 0; i < 10; i++) {
      a[i] = function () {
        console.log(i);
      };
    }
    a[6](); // 10
    var a = [];
    for (let i = 0; i < 10; i++) {
      a[i] = function () {
        console.log(i);
      };
    }
    a[6](); // 6

    2.暂时性死区:在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)。

    3.不能重复性声明: 同一作用域下,var重复声明不会报错,let和const重复声明会报错。

    二丶const

    1.const声明一个只读变量,不可更改值,否则则会报错,但对象和数组可以更改内存指针。比如

    const foo = {};
    
    // 为 foo 添加一个属性,可以成功
    foo.prop = 123;
    foo.prop // 123


    const a = [];
    a.push('Hello'); // 可执行
    a.length = 0;    // 可执行
    a = ['Dave'];    // 报错
    
    
  • 相关阅读:
    组合模式
    过滤器模式
    桥接模式
    适配器模式
    原型模式
    建造者模式
    抽象工厂
    工厂方法
    静态工厂
    单例模式
  • 原文地址:https://www.cnblogs.com/SunShineKG/p/7294311.html
Copyright © 2011-2022 走看看