您的位置:首页 > 其它

es6基础回顾--let和const

2017-05-05 11:19 225 查看
天天在用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命令文档地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: