ES6标准入门

let

基本用法

  • 用于声明变量 声明的变量只在let命令所在的代码块内有效
  • for循环的计数器很适合使用let命令
    • 每一轮循环的变量都是一个新的变量 之所以会知道上一轮循环的值从而可以计算出本轮的值 是因为js引擎内部会己住上一轮的值
  • 不存在变量提升
  • 不允许重复声明
  • 暂时性死区
    • temporal dead zone -> TDZ
    • 只要在声明之前使用let/const定义的变量就会报错 是不可使用的
    • 在该作用域声明变量之前的部分 成为变量的死区
    • 这样做是为了养成良好的编程习惯 变量一定要子声明之后使用

const

基本用法

  • 声明一个只读的常量 一旦声明就不可改变 所以必须立即初始化 而不能留到以后赋值
  • 暂时性死区

本质

  • const本质上保证的并不是变量的值不允许改动,而是变量指向的那个内存地址不可改动。
    • 对于原始值而言,值就保存在变量指向的内存地址中。
    • 对于引用值而言,变量指向的内存地址保存的只是一个指针,const只能保证这个指针是固定的,而指针指向的数据结构是可变的。

笔记内容整理来自阮一峰老师的《ES6标准入门》

原文地址:https://www.cnblogs.com/liyf-98/p/14416073.html