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

推荐阅读更多精彩内容

  • JS中的函数 一、定义绝对值函数 第一种方式: 第二种方式: 函数相当于是匿名的,可以把结果赋值给abs,通过ab...
    雪国_3472阅读 30评论 0 1
  • 1. 预解析的相关概念 JavaScript 代码是由浏览器中的 JavaScript 解析器来执行的。JavaS...
    itlu阅读 83评论 0 3
  • 为什么使用 ES6 ? 每一次标准的诞生都意味着语言的完善,功能的加强。JavaScript语言本身也有一些令人不...
    肖青荣阅读 144评论 0 4
  • 1、基本概念 1.1 四种类型 python中数有四种类型:整数、长整数、浮点数和复数。 python中数有四种类...
    八重樱勿忘阅读 285评论 0 4
  • 1.var 定义的是变量,没有块作用域的概念,可以跨块作用域访问,不能跨函数访问 块级作用域由 { } 包括,if...
    onresize阅读 965评论 0 2