JavaScript 第一篇

41 阅读1分钟

var、let、const的区别

var:

  1. 有全局作用域和函数作用域
  2. 没有块级作用域的概念
  3. 有变量声明提升
  4. 不初始化默认值为undefined
  5. 在全局作用域下var的声明变量默认挂载到window上
  6. 可以重复声明

let:

  1. 有块级作用域概念
  2. 不存在变量提升
  3. 有暂时性死区(在未声明变量之前不能使用)
  4. 统一块级作用域下不可重复声明

const(与let的特点一样,但是还有附加两点):

  1. 初始化就立即赋值,不能在后面赋值
  2. 赋值后不能修改值,即是个常量