es5和es6的继承有哪些区别


这篇“es5和es6的继承有哪些区别”文章的知识点大部分人都不太理解,所以小编给免费云主机域名大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es5和es6的继承有哪些区别”文章吧。 es5和es6继承的区别是:es5是先创建子类,实例化父类并添加到子类this中实现继承;而es6是先创建父类,实例化子集中通过调用super方法访问父类后,通过修改this实现继承。本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。ES5的继承实质上是先创建子类的实例对象,然后再将父类的方法添加到this上(Parent.apply(this)).ES6的继承机制完全不同,实质上是先创建父类的实例对象this(所以必须先调用父类的super()方法),然后再用子类的构造函数修改this。ES5的继承时通过原型或构造函数机制来实现。ES6通过class关键字定义类,里面有构造方法,类之间通过extends关键字实现继承。子类必须在constructor方法中调用super方法,否则新建实例报错。因为子类没有自己的this对象,而是继承了父类的this对象,然后对其进行加工。如果不调用super方法,子类得不到this对象。ES6中的继承  在传统JS中,生成对象是通过创建构造函数,然后定义生成对象然后通过prototype增加对应所需方法或属性而ES6中引入了类的概念,也就是class。通过关键词class去定义对象。  class是个关键词,语言糖,这样能更清晰的读懂所创建的对象,  通过属性constructor来接收控制方法传入的参数,如果不写这个属性,默认是没有参数的ES6中的继承是基于class类之间继承的。通过关键词extends实现。  通过super实例化调用父类上面的代码,是一套简单的ES6父子类继承。  相信已经看出来了,虽明显的区别就是在于ES6中,激活父组件的是super方法,而不是新建实例化,也就是说,父类的实例对象是先创建出来的,调用后,再去修改子类的构造函数中的this完善原型对象。以上就是关于“es5和es6的继承有哪些区别”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。

相关推荐: ChatGPT跨越认知边界实例分析

这篇文章主要讲解了“ChatGPT跨越认知边界实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ChatGPT跨越认知边界实例分析”吧!我的有的朋友跟我说,用ChatGPT编程需要你至少要跟他对等水平,因为…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 07/27 19:21
Next 07/27 19:21

相关推荐