ES6 let命令详解

ES6 新增了let命令,用来声明变量。个人感觉这很像 Java 的变量声明特性
1. 变量声明的方式

声明变量可以有如下几种方式

  • 只声明,后赋值
let a
a = 100
  • 一次声明多个变量
let b, c, d;
  • 声明的同时,直接赋值
let e = 100;
  • 大杂烩,一次声明多个变量并赋值
let f = 100, g = 'hello es6', h = []
2. let 具有会计作用域

只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。类似于 Java 中的局部变量的效果。

{
    let x = 100
}
console.log('x: '+ x)

结果为:ReferenceError: x is not defined

3. 不存在变量提升效果

此提升非彼提升,这里的提升不是说升级的意思,而是提前加载的意思。

  • 先看看变量提升的效果
console.log('y: ' + y)
var y = 100

运行结果:y: undefined,y是在打印之后才申明的,所以是被提前加载了

  • let 中没有提前加载效果
console.log('z: ' + z)
let z = 100

运行结果:ReferenceError: Cannot access ‘y’ before initialization

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值