ES6新特性

1. 箭头函数(=>)

ES6中引入了箭头函数来代替 function,即在定义方法的时候不用写 function ,=> 的左边为函数名和参数,右边为执行操作和返回值。

1 function(a){
2   return a + 1;
3 }  //ES5
4 (a) => a + 1;  //ES6

箭头函数写法简洁,同时解决了JS中 this 作用域的问题。

因为箭头函数内部没有定义 this 对象,所以函数内部的 this 完全继承外部。

2. 变量声明(let、const)

let 与 const 的作用基本与 var 相同,区别如下:

var 作用域只有全局和函数内部,let 声明的变量只作用在代码块内,let 可以代替 var ;

const 用来声明常量,常量不能修改;

var 因为作用域的缘故存在循环变量泄露为全局变量的问题,传统的解决方案是使用闭包,ES6 中使用 let 来解决;

3. 类的支持(class、extends、super)

 

4. 字符串模板

 

5. 参数

 

6. 模块

ES6支持了模块概念,无需再引入其它的JS框架(requireJS)就能实现前端的模块化。 

7. 解构

 ES6可以自动解析数组为对象的值。

8. 循环遍历

 ES6中引入了 for…of 遍历,for…in 与 for…of 的区别:

for…in:中的变量是对象的属性名或数组的下标值;

for…of:变量是直接的数组具体值。

9. 对象扩展

 

10. Symbol

 ES6引入了一种新的原始数据类型Symbol,表示独一无二的值,它是 JavaScript 语言的第七种数据类型,

前六种是:Undefined/Null/Boolean/String/Number/Object。

Symbol 对象不需要new 来创建,

Symbol 对象作为属性,不能使用 . 来访问,

Symbol 不能和其它数据类型进行计算。

Symbol详解

11. Promise

Promise 是一个对象,可以获取异步操作的消息。

posted @ 2018-05-23 12:08  叶子玉  阅读(185)  评论(0编辑  收藏  举报