再一次看阮一峰的ES6入门简单的做个笔记。为接下来写react naive做准备。包括最常用的和已经理解了的部分
##let和const
1.var(es5)和let (es6)
- 在es5中 var的作用域范围是函数作用域,而在es6中,改用let来替换var 。let只在所在的代码块内有效。最典型的例子是循环输出。
- let声明的变量不存在“变量提升”。声明的变量一定要在声明后使用,否则会报错
- 暂时性死区只要块级作用域内存在let,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。即,如果一个全局变量在一个代码块内被let重新声明,那么全局变量对于此代码块是无效的。
- let不允许在同一作用域内,重复声明同一个变量,会报错;但是在用var声明的时候,后者会覆盖前者
- 块级作用域let的作用域只在所声明的代码块内,相当于为es6提供了块级作用域。
- S6 引入了块级作用域,明确允许在块级作用域之中声明函数。ES6 规定,块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。
2.const
const声明一个只读的常量。一旦声明,常量的值就不能改变。
对于const来说,只声明不赋值,就会报错。
const的作用域与let命令相同:只在声明所在的块级作用域内有效。
const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。
const声明的常量,也与let一样不可重复声明。
##变量的解构赋值
- ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。
- 如果解构不成功,变量的值就等于undefined。
- 如果等号的右边不是数组(或者严格地说,不是可遍历的结构),那么将会报错。
- 如果默认值是一个表达式,那么这个表达式是惰性求值的,即只有在用到的时候,才会求值。
##箭头函数
箭头函数在js的语言中山一直存在的,比如
注意,使用了块语句的箭头函数不会自动返回值,你需要使用return语句将所需值返回。
普通function函数和箭头函数的行为有一个微妙的区别,箭头函数没有它自己的this值,箭头函数内的this值继承自外围作用域。
##calss
##模板字符串
##promise函数