• 变量let const


    一、变量

    1. let
      代码块内有效,无变量提升、不可重复声明

      { let a = 2; }

        for循环非常实用let。

      for (var i = 0; i < 10; i++) {
        setTimeout(function(){
          console.log(i);
        })
      }
      // 这个 var 在全局内有效,而setTimeout 中的 i 指向的是全局的 i; // 输出十个 10

      for (let j = 0; j < 10; j++) { setTimeout(function(){ console.log(j); }) }
      // 变量 j 是用 let 声明的,当前的 j 只在本轮循环中有效,每次循环的 j 其实都是一个新的变量; javaScript引擎会记住前一个循环的值。 // 输出 0123456789

        

    2. const 
      const 声明一个只读变量,声明之后不允许改变。意味着,一旦声明必须初始化,否则会报错。
      对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。
      对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指针,const只能保证这个指针是固定的,至于它指向的数据结构是不是可变的,就完全不能控制了。

      const foo = {}; // 为 foo 添加一个属性,可以成功 foo.prop = 123; foo.prop // 123 // 将 foo 指向另一个对象,就会报错 foo = {}; // TypeError: "foo" is read-only



           

  • 相关阅读:
    程序员都必读
    ia-64 vs x86-64
    Linux内核学习
    开源liscense对比
    列存储
    大数据科普
    [USACO1.5]数字三角形
    [USACO08FEB]酒店Hotel
    数的划分
    CodeForce 18D
  • 原文地址:https://www.cnblogs.com/anbozhu7/p/11814289.html
Copyright © 2020-2023  润新知