ES6新增特性
1、let const
let与const与之前的var相比,有了更多的改变
let与const都是只在声明所在的块级作用域内有效。
let声明的变量可以改变,值和类型都可以改变,没有限制。
const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。
2、class类语法糖
在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类。
class 的本质是 function。
它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。
在class中有许多类属性,如name属性,this指向属性,一些新的样式属性
class类可以使用 new() 对其进行实例化对象操作
3、箭头函数
()=》{
函数执行代码 //
}
1.相比于传统的function函数,箭头函数的写法更加的方便,
2.function函数指向为它的父函数,箭头函数指向则为它本身this
4、import export 模块化开发
在es6中,新增了一种新的开发环境 ---- 模块化开发
通过import引入后再通过export引出当前所拥有的函数或对象,这就是模块化开发
优点:
模块化开发使开发更加的便捷,也推动了单页面的应用,促使了项目的单项开发
在使用模块化开发后,可在组件中调用所创建的模块,以便使用
5、 新增了变量的解构赋值
ES6 允许按照一定模式,提取数组和对象中的值,对变量进行赋值,这种方法就称为解构赋值
解构赋值左右两边结构必须一样,使用左边定义的值,快速取出数据中对应的数据值,定义和赋值必须
放到一起,否则会报错。左边必须是一个js存在的数据结构。而且解构赋值就是对js的赋值运算符的扩展,
它的好处就是让我们能够快速的能从复杂的对象中取出我们想要的数据
方法:
1.Array.from
- var newary=Array.from(arguments);//将类数组转为数组
2.find
-遍历数组,依次遍历每一项当回调函数返回值是true时,停止查找返回当前项。如果一直是false返回undefined
3.findIndex
-与find很像,但findIndex返回的是当前项的索引