javascript继承 --- 图解 ES5继承 VS ES6继承

ES5继承 VS ES6继承

前言

ES6 已经发展了很长时间里 javascript相对于其他例如java等是一门比较怪异的语言, 由于其历史原因其继承机制和对象生成方式被人诟病. ES6 的出现将彻底改变这一现状, ES6 引入了新的生成对象(类)语法格式,但依然为ES5的语法糖,上篇文章ES5 javascript 多种继承方式解析详细介绍了javascript的继承方式,

ES6给出了更加简洁的固定的类声明方式,有兴趣的可以查看阮一峰的ES6入门,下面给出原文链接es6 阮一峰http://es6.ruanyifeng.com

正如曾经的老师说的, 每一个不理解的概念都是因为你的脑海里缺少一幅图, 下面将以图解的方式来分析对比 javascript 继承


  1. ES5继承
    javascript继承 --- 图解 ES5继承 VS ES6继承
    正如此图所示,此图为上篇文章中降到的组合继承,从图中可以清晰的看出对象的继承规则--(再一次感叹图形的魅力 ^_^),上篇文章已经详细讲了这种继承方式,此链接组合继承为详细介绍, 有兴趣的可以到前文查看, 在这里不加累赘,ES5中这种最简单的继承,实质上就是将子类的原型设置为父类的实例。
  2. ES6继承
    javascript继承 --- 图解 ES5继承 VS ES6继承
    ES6的继承可以简单的认为就是上篇文章中的寄生组合继承, 模型几乎一模一样,只是在语法结构上多了 class 和 extends关键字,另外一个区别就是父类和子类通过__proto__连接。

相关推荐