1)es6的全称是:ECMAScript6.0,ECMAScript 6.0(如下简称 ES6)是 JavaScript 语言的下一代标准,于2015年6月正式发布。目标“使得 JavaScript 语言能够用来编写复杂的大型应用程序,成为企业级开发语言”前端
2)为何要学习ES6 es6的出现,给前端开发人员带来了新的惊喜,它包含了一些很棒的新特性,能够更加方便的实现不少复杂的操做,提升开发人员的效率。流行的js框架都使用了大量的es6语法。es6
let与var同样都是用于定义变量。数组
区别:框架
在此以前是没有块级做用域的,只能经过function来划分做用域。在es6中经过let关键字实现了块级做用域。函数
上面的代码中,let 定义的变量只在{ }范围内有效,出了{ }就无效了。ES6明确规定,若是区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就造成了封闭做用域。凡是在声明以前就使用这些变量,就会报错。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ),就是要先定义变量,再使用。学习
ES6 容许按照必定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。this
按下标一一对应地去赋值 : spa
左右数量不等: 跳过部分 : 默认值: 嵌套:1,Array.isArray()判断是不是一个数组: Array.isArray(arr) //ture或者false
3d
2,forEach()对数组进行循环。rest
数组.foreach( function(item,index ,arr){
// item : 当前的数组元素,至关于arr[index]
// index:数组元素的索引
// arr 当前的数组
} );
复制代码
item,index,arr只是形参名,能够本身定义。
3,map()映射:逐一处理原数组元素,返回到一个新数组
4,filter()逐一过滤原数组元素,留下符合条件的元素获得一个新数组。 5,reduce()不断地将前一项和后一项的值进行运算(具体规则是由回调函数决定的,每次的运算会涉及两项),把前一轮运算的结果做为当前运算的前一项。返回最后结果。 数组元素是对象的例子: 6,some()只要数组中的某一个元素符合指定的条件,就会返回真,不然返回假。 7,every()若是数组中的全部元素都符合指定的条件,才返回true,不然返回false。只要有一个知足,则总体的结果就是false。 8,Array.from()是Array构造器的静态方法,将类数组对象转成真正的数组,以arguments为例 9,Array.of()将一组值转换为数组,与Array.from功能类似,能够理解用来建立数组。1,ES6以后能够设置参数默认值
因为参数变量是默认声明的,因此不能用let或const再次声明 2,rest参数 注意:3,调用函数时…和定义函数时…是不同的
上面的代码中,…是拓展运算符,是用来把一个数组“打散” 上面在定义函数时使用的…称为rest运算符,它的功能是把零散的参数列表打包成一个数组。1,做用 :简化函数的定义,让咱们写函数时更加的方便,快捷。
这里把function省略了,用=>来代替。只有一个参数可省掉():let f=x=>{return x*x}
若有多个形参,或者没有形参,则()不能少
若是只有一句函数体(非return),则能够不写{}:let f=x=>console.log(x*x)
若是只有一句函数体,并它是return语句 ,则return也能够省,{}也能够省:let f=x=>x*x
复制代码
2,箭头函数的一些特性