es2015之let、const

let注意

  • 没有育预解析,不存在变量提升

    在代码块内,只要let定义变量,在之前使用都是报错;使用未定义的变量为TDZ死区开始,定义变量为TDZ死区结束;
    先定义完再使用;

  • 同一个作用域里,不能重复定义变量,会报错重复定义
  • for循环,for循环里面时父级作用域,子作用域可以直接使用父级作用域定义的变量,也可以定义和父级作用域名字相同的变量

const注意

  • 特性和Let完全一样
  • const定义的变量不能修改
  • const定义完变量,必须有值,不能后赋值,不能修改
  • const的特殊操作
<script>
window.onload = function (){
  // 正常情况下const定义的数组是可以进行push操作
  const arr = ["a","b","c"];
  arr.push("ddd");
  console.log(arr);
  // 也可以通过Obiect.freeze冻结,实现不可进行任何修改
  const arrb = Object.freeze["a","b","c"];
  arr.push("ddd");
  console.log(arrb);
}
</script>
Last modification:June 9th, 2019 at 01:11 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment