understanding ES6 学习笔记1 块级作用域 let 与const

一.let与const

let、const与var的区别

1.首先的一点,也是最重要的,let与const是块级作用域,而var是函数作用域。

   详解: 你在一个大括号中定义了let 与 const{},在函数外是无法访问的,而var 只有定义在函数里面,外部才无法访问。

2. let与const没有变量提示,意味着,你无法在声明他们之前去使用他们。

    详解:

             var : 在js中,如果你用var声明了一个变量,在js执行时会自动把所有的变量都提升到全局作用域的顶部,你是可以在声明它之前去使用它的(虽然值为undefined),只有当代码执行到这一行时,才会去给var声明的变量去赋值。

            let: 如果你在js中声明了let与const,必须在声明let与const的代码之后,才能去使用它们,否则就会抛出异常,这一特征,使得最安全的操作符 typeof 也会抛出错误了。

3 let 不可以重复去声明

 4 let 与 const 会重写window中的属性

    我们知道,我们所有可以直接使用的变量与方法,都是window的属性,而如果在全局作用域中去使用var声明一个window中有的属性的话,就会覆盖它。而如果使用let在全局作用域中去声明一个window中已有的变量,不会将改变量覆盖而仅仅是屏蔽它们,如果使用window.该属性,还是可以去得到window原本的属性。

let与const的区别

简单来说,let是变量,const是常量,而且在声明const时必须要为const去赋值

在前端中,能用const就尽量不要使用let,因为不在预期之中的改变,往往会发生错误

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值