es6和es6,es5和es6的新特性

  es6和es6,es5和es6的新特性

  本教程运行环境:windows7系统,ECMAScript 5 ECMAScript版本6,Dell G3电脑。

  与ES5相比,ES6增加了许多东西,例如:

  一、新增箭头函数

  箭头函数解决的问题

  简化写作。箭头适用于函数体只有一行的情况;当有多行时,可以使用普通函数来增加可读性。少打代码,结构清晰

  清除这个。JS的传统this是在运行时确定的,而不是在定义时确定的;arrow函数的this是在定义时确定的,不能更改,也不能通过call、apply、bind、bind等方法修改。明确运行时候this指向谁,不用运行时判断this指向

  注意:arrow函数没有自己的this,his的this是外层的this,指向一个不是arrow函数的函数的前一个this。因为js的机制,它指向一个不是箭头函数的函数的作用域。

  箭头函数与普通函数的区别

  函数的普通声明是变量提升中最高的,箭头函数没有函数提升

  函数的箭头不是this,函数体内的this对象是定义它的对象,而不是使用它的对象。

  箭头没有arguments对象,该对象不存在于函数体中。如果要使用,可以使用rest参数。

  箭头不能用作构造函数,不能是新的,并且没有属性。

  和callapply方法有应用参数,但没有范围。

  不能使用yield命令,所以箭头函数不能是生成器函数。

  二、块级作用域

  ES6中的let命令声明变量,用法与var类似,但let为JavaScript增加了一个块级作用域。ES5中没有块级作用域,var有变量提升的概念。但是,在let中,使用的变量必须声明。Const声明常量

  ES6中变量的结构赋值,如:var [a,b,c]=[0,1,2];

  三、类继承

  ES6不再像ES5一样使用原型链实现继承,而是引入了类的概念,听起来和Java中面向对象编程的语法很像,但它们是不同的。

  四、设置默认函数参数

  可以在ES6中设置默认的函数参数,比如函数A(x,y=9){ };

  五、promise

  Promise应运而生:解决回调地狱问题,处理异步请求。

  承诺用法:链式调用,成功和失败回调,三种状态,挂起状态变化时触发。状态一旦改变,就再也不会改变。

  六、模板字符串

  七、赋值结构

  【推荐学习:javascript高级教程】以上是es6和es5区别的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: