您的当前位置:首页正文

var let const

来源:花图问答

1. var 可声明前置

a = 3
var a
var a = 4

2. let不可声明前置

a = 3 //报错
let a

3. let不可重复声明

let a = 3
let a = 4  //报错
var a = 5  //报错

4. 存在块级作用域

for(let i =0; i<3; i++){
  console.log(i)
}
console.log(i) //报错

IIFE的替换

(function(){
  var a = 1
}())
{
  let a = 1
}

暂时性死区(TDZ):在let声明变量之前都是该变量的死区,在死区内该变量不可使用

5. const 声明的常量不可改变

const a = 1
a = 2 //报错

const obj = {a: 1}
obj.a = 2   //没问题
obj = {a: 2}  //报错

6. 适用于let的同样适用于const