es6基础回顾--let和const

天天在用es6,但是自己还没有详细的做过一份知识点整理。
前两天写代码碰到await和async,傻眼了。。完全忘了是什么。。。
现在开始好好的整理一下,保不齐哪天es7出来,那我es6还没搞明白就不好了。。


let声明变量只在let命令所在的代码块内有效。

{
    let a=10;
    var b=1;
}
a //error : a is not defined.
b //1

let声明的变量一定要在声明后使用,不存在变量提升。

暂时性死区:在代码块内,使用let命令声明变量之前,该变量都不可用。
在没有let之前,typeof是安全的,but现在如果在暂时性死区里,声明前使用会报错。

do表达式
因为块级作用域没有返回值,所以有个提案,让块级作用域变成表达式,可以返回值。

let x = do {
    let t = f();
    t * t + 1;
}

(我试了一下,果然还只是个提案。。)


const命令
const声明一个只读的常量,声明后不可改变,所以声明时就得赋值。其他与let用法相似。
const保证的是变量指向的内存地址不得改动。简单的数据类型值就保存在变量指向的内存地址,对于复合型数据则保存的是指针,只能保证指针固定,对象本身是可以变动的。

// 只在声明所在的块级作用域内有效
if(true){
    const a = 5;
}
a //Uncaught ReferenceError: a is not defined

//声明不提升,存在暂时性死区
if(true){
    console.log(a);  // ReferenceError
    const a = 1;
}

//不可重复声明
var message = 'hello';
let age = 25;

const message = 'hi'  //报错
const age = 100  //报错

es6–let和const命令文档地址

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值