变量
let
用来声明变量,不可以重复声明,可以重复赋值
const
用来声明常量,常量称为只读数据,
一旦声明必须赋值,且值不可再改,
const声明的常量不可以重复声明,不可以重复赋值
var
用来声明变量,既可以重复声明,也可以重复赋值
var、const、let之间的相同点
都是声明的关键字
var、const、let之间的不同点
1.变量提升只有var
2.作用域:var声明的变量存在于window等级对象中,let和const的变量存在于独立的块级作用域中
3.let可以重复的赋值,const不可以重复赋值
暂时性死区
let和const的块作用域的特性
当let或const放在{}里的时候,这个{}就会变成块级作用域,被let或const声明的变量锁死--暂时性死区
在es5时代,作用域只有全局的window和局部的函数作用域,受条件限制,for循环if和switch里的变量会污染全局,现在有了let和const之后,凡是有{}的代码块里使用let或const则{}就会变成块级作用域
三者的使用场景
1.let适合在for循环中的定时器使用,作为强类型语法限制的变量
2.const适合作为一次性赋值的常量,用于数据版本号或id
3.var适合兼容老的IE浏览器,对于很久的项目使用的比较多,目前推荐使用let替代
模板字符串
1.可