web前端优秀程序员分享ES6基础教程。ES6大家都很熟悉,但是不知道怎么用。下面小编就带大家走进ES6,现在ES8、ES9+是在ES6的基础上更新的,所以我们要想掌握ES8和ES9+,就必须要掌握好ES6。说到这里,有人提出疑问?那直接学ES5就行了。然而,ES5和ES6之间的差距是巨大的。话不多说,现在看真相。ES5和ES6的区别 ES5是ECMAScript的第五版(第四版因为太复杂被废弃了),浏览器支持可以看这张图 ![图片说明][1](core)作为核心,它规定了几个组成部分:语法、语句、关键字、保留字、运算符、对象、类型。使用ES5时,严格模式使用'usestrict'来限制一些用法;给Array添加一些方法,比如大家熟悉的forEach、filter、indexOf、lastIndexOf、isArray、map等。最重要的是ES5的对象方法,我一一列举:isFrozenPS:只是说如果有什么东西,不要谈论它是什么。ES5先写到这里,关键点就在这里。 1).ES5的语法写起来比较麻烦,ES6的好处就凸显出来了。使用对象字面量属性赋值非常方便,例如:varobj={//__proto____proto__:theProtoObj,//Shorthandfor'handler:handler'handler,//方法定义toString(){//Supercallsreturn"d"+super.toString();},//Computed(dynamic)propertynames['prop_'+(()=>42)()]:42};2).ES6的块级作用域声明比ES5的。ES6增加了关键字let,常量const等声明减少了块级作用域下全局变量的污染。不过ES6还是有很多方法在ES5中用起来更方便。1.赋值与解构2.类3.箭头函数(这里重点是ps)1.赋值与解构 1.1数组的解构与赋值 这就是解构赋值的方法。解构一般有完全解构、不完全解构和解构不成功三种情况。在上面的例子中,存在完全解构和解构不成功的情况。重要的区别在于数组元素是按顺序排列的。变量的值由它的位置决定;虽然对象的属性没有顺序,但变量必须与属性同名才能获得正确的值。其实对象的解构赋值就是这种形式的缩写换句话说,对象解构赋值的内部机制是先找到同名的属性,然后赋值给对应的变量。实际上分配的是后者,而不是前者。第一个foo/bar是匹配模式。对应的foo/bar属性值就是变量,实际赋值的是属性值(即第二个foo/bar)。如果看不懂,再看下面的例子。这里先说解构和赋值。下面介绍一下Class这个属性2.Class的代码就不多说了,这里给大家介绍一个实例属性的新方法除了在constructor()方法中定义在this上,实例属性也可以定义在班级的最高水平。实例对象本身的所有属性都定义在类的头部,看起来比较整洁,一眼就能看出类有哪些实例属性。Class属性的属性就这么多,就不多说了,3.箭头函数--(仅用于修饰匿名函数)(形参体列表)=>{函数体代码} <1>特点: 箭头函数本质上是一个匿名函数; 箭头函数特点:箭头函数内的this与箭头函数外的this始终保持一致; <2>箭头函数的三种变体: 形式化:remove函数,函数名: var函数名=(参数1,...)=>{} 函数名(参数1,...)----调用 如:varadd=(x,y)=>{returnx+y} add(1,2)ES6的介绍先到这里
