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 不能和其它数据类型进行计算。
11. Promise
Promise 是一个对象,可以获取异步操作的消息。
本文来自博客园,作者:叶子玉,转载请注明原文链接:https://www.cnblogs.com/knuzy/p/9076213.html