ES2015 (也叫作 ES6)——这是一套对 JavaScript 的语法改进的官方标准。但是这套标准目前还没有在所有的浏览器上完整实现,所以目前而言 web 开发中还很少使用。React Native 内置了对 ES2015 标准的支持,你可以放心使用而无需担心兼容性问题。
import、from、class、extends、以及() =>箭头函数等新语法都是 ES2015 中的特性。
1、let 声明变量,所声明的变量,只在let命令所在的代码块内有效。
2、for 循环的计数器,很合适使用let:
for(let i = 0 ; i < 10 ; i ++){
}
3、let 声明的变量一定要在声明后使用,否则报错,所以不存在变量提升。var 声明的变量存在变量提升,不报错,但会输出undefined。
4、let 不允许在相同作用域内,重复声明同一个变量。不能在函数内部重新声明参数。
5、let 为javascript 新增块级作用域。
6、const声明一个只读的常量。一旦声明,常量的值就不能改变。
7、const的作用域与let命令相同:只在声明所在的块级作用域内有效。
8、const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。
9、const声明的常量,也与let一样不可重复声明。
10、ES5只有 var命令和function 命令两种声明变量的方法。而ES6还有let命令、const命令、import命令、class命令四种方法。
11、ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。
12、对象的解构与数组有一个重要的不同。数组的元素是按照次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
13、变量的解构赋值用途:交换变量的值、从函数返回多个值、函数参数的定义、提取json数据、函数参数的默认值、遍历map结构、输入模块的指定方法。
14、ES6 引入 rest 参数(形式为...变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中。
15、ES6允许使用“箭头”(=>)定义函数。如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return语句返回。由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号。(尤其值得注意。函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象,this对象的指向是可变的,但是在箭头函数中,它是固定的。
16、一个对象 两个函数
Promise对象:从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。
Generator函数:Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。语法上,首先可以把它理解成,Generator 函数是一个状态机,封装了多个内部状态。
Async函数:是 Generator 函数的语法糖,使得异步操作变得更加方便。async函数对 Generator 函数的改进,体现在以下四点:内置执行器、更好的语义、更广的适用性、返回值是promise。
17、ES6新特性:使用export和import实现模块化。
18、…延展操作符
它允许传递数组或者类数组直接做为函数的参数而不用通过apply。 延展操作符一般用于属性的批量赋值上。
全民小视频 yaoqingma: RBW6Q6
聊天宝 yaoqingma : 11940938
趣头条 yaoqingma :A206080478