es6基础回顾--let和const
2017-05-05 11:19
225 查看
天天在用es6,但是自己还没有详细的做过一份知识点整理。
前两天写代码碰到await和async,傻眼了。。完全忘了是什么。。。
现在开始好好的整理一下,保不齐哪天es7出来,那我es6还没搞明白就不好了。。
let声明变量只在let命令所在的代码块内有效。
let声明的变量一定要在声明后使用,不存在变量提升。
暂时性死区:在代码块内,使用let命令声明变量之前,该变量都不可用。
在没有let之前,typeof是安全的,but现在如果在暂时性死区里,声明前使用会报错。
do表达式
因为块级作用域没有返回值,所以有个提案,让块级作用域变成表达式,可以返回值。
(我试了一下,果然还只是个提案。。)
const命令
const声明一个只读的常量,声明后不可改变,所以声明时就得赋值。其他与let用法相似。
const保证的是变量指向的内存地址不得改动。简单的数据类型值就保存在变量指向的内存地址,对于复合型数据则保存的是指针,只能保证指针固定,对象本身是可以变动的。
es6–let和const命令文档地址
前两天写代码碰到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命令文档地址
相关文章推荐
- ES6基础(一)——var let const的用法
- ES6基础学习(一) - let 和 const
- ES6基础语法(一)—— let和const
- ES6(01 基础 let和const命令)
- Web端 es6(基础一) let var const 的区别
- ES6——let和const
- ES6的let和const命令(一)
- ES6-个人学习笔记一--let和const
- 复习es6-let和const
- es6 箭頭函數 let, const
- es6 箭頭函數 let, const
- 【ES6系列】let和const
- 开始学习es6(二) let 与 const 及 块级作用域
- js -- ES6(二)-- let 和 const 命令(根据阮一峰ES6标准入门整理)
- ES6学习2章:let和const命令
- ECMAScript 2015(ES6):let和const命令
- ES6-let和const
- 学阮大大ES6摘录let&const
- 【ES6】var / let / const
- ES6学习-let和const