let关键字和const关键字

let和constes6中新引入的关键字,用来变量声明时使用,解决js中var关键字变量声明的问题

var关键字变量声明的问题

  • 污染全局变量,var关键字声明的的变量可以覆盖window对象身上原本有的属性
  • 重复的变量声明
  • 变量提升,奇怪的函数作用域

上面的问题是var关键字的硬伤,在实际开发中很容易带来问题,因此才有了let和const
let关键字
let关键字解决了var关键字声明的问题

  • 不会污染window对象身上的属性
		let console = 1
        window.console.log(window)

在这里插入图片描述在这里插入图片描述
window身上的console没有被覆盖,依然能够正常打印

  • 不允许重复变量声明
		let a = 1;
        let a = 2;

在这里插入图片描述

  • 解决了变量提升
    var关键声明变量时,变量声明会提升到当前作用域的最前面,而let关键字
		console.log(a)
        let a = 2;

在这里插入图片描述
看到这样的结果你可以理解为let关键字声明的变量不会变量提升,不过实际上它也会进行变量提示,只是将其放在了一块名叫“暂时性死区”内存空间,只用在赋值之后才能够进行访问
const关键字
和let关键字类似,只是const声明的变量是常量,声明时必须初始化,并且不允许改变它的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值