• 《你不知道的JavaScript(上)》笔记——let和const


    笔记摘自:《你不知道的JavaScript(上)》第3章 函数作用域和块作用域

    let

    1.let 关键字可以将变量绑定到所在的任意作用域中

    2.let 为其声明的变量隐式地劫持了所在的块作用域

    3. 通常来讲,显示的代码优于隐式或一些精巧但不清晰的代码。

    4.只要声明是有效的,在声明中的任意位置都可以使用{..}括号来为let创建一个用于绑定的块。

    5.使用let进行的声明不会在块作用域中进行提升。声明的代码被运行之前,声明并不存在。

    例如:

    {
        console.log(bar); // Reference Error!(引用错误)
        let bar = 2;
    }

     6.let for循环

    先看下var for循环的结果

    for (var i = 0; i < 10; i++) {
        console.log(i); // 0,1,2,3,4,5,6,7,8,9
    }
    console.log(i); // 10

    再看下使用let for循环的结果

    for (let i = 0; i < 10; i++) {
        console.log(i); // 0,1,2,3,4,5,6,7,8,9
    }
    console.log(i); // ReferenceError

    for循环头部的let不仅将i绑定到了循环的每个迭代中,确保使用上一个循环的每一个迭代中,确保使用上一个循环迭代结束时的值重新进行赋值。

    const

    1.const 和let一样可以用来创建块作用域变量,但其值是固定的(常量),之后任何试图修改值的操作都会引起错误。

    var foo = true;
    if (foo) {
      var a = 2;
      const b = 3; //包含在if中的块作用域常量
      
      a = 3; // 正常
      b = 4;  // 错误!      
    }
    console.log(a); // 3
    console.log(b); // ReferenceError
  • 相关阅读:
    算法导论
    深度探索C++对象模型
    git 介绍及其使用总结
    前端跨域常见的几种方式
    前端面试angular 常问问题总结
    低版本浏览器支持HTML5标签的方法
    理解 angular 的路由功能
    Angular 新手容易碰到的坑
    Angular 新手容易碰到的坑
    一 Unicode和UTF-8的异同
  • 原文地址:https://www.cnblogs.com/cathy1024/p/10450787.html
Copyright © 2020-2023  润新知