es6变量

变量

let

用来声明变量的,不可以重复声明,可以重复的赋值。

const

用来声明常量的,常量称为只读数据。

一旦声明必须赋值,且值不可再改。

使用const声明的常量不可以重复声明更不可以重复的赋值。

var

用来声明变量的,可以重复的赋值,可以重复的声明。

相同点

都是声明的关键字

不同点

  1. 变量提升只有var

  2. 作用域:var声明的变量存在于window顶级对象中,let和const的变量存在于独立的块级作用域中。

  3. let可以重复的赋值,const不可以重复赋值

es6的经典题:暂时性死区

原因就是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替代。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值