let、var和const的区别
🥏

let、var和const的区别

😮‍💨
初级经常考

 
原答案:
var 是 ES6 之前使用的用于定义变量,存在变量提升的问题,使用 var 会有一些意想不到的 bug,如for 循环。为了解决这个问题,在 ES6 中提出了 let 和 const,let 用于定义变量,const 用于定义常量。let 和 const 会存在块级作用域,let 和 const 声明的变量和常量只会在它所在的代码块有效,同时也存在暂时性死区

 
参考:
ES6入门 - let 和 const 命令

1. let 命令

  • 基本用法
  • 不存在变量提升
  • 暂时性死区
    • 在代码块内,使用 let 命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”
  • 不允许重复声明

2. 块级作用域

letJavaScript 增加了块级作用域
  • 块级作用域和函数声明

3. Const命令

const 实际保证的不是变量的值不可改变,而是保证变量指向的内存地址所保存的数据不可改变