JavaScript 进阶(六)继承
对于使用过基于类的语言 (如 Java 或 C++) 的开发者们来说,JavaScript 是比较费解的 —— JavaScript 是动态的,本身不提供一个 class
的实现。即便是在 ES2015/ES6 中引入了 class
关键字,但那也只是语法糖,JavaScript 仍然是基于原型的。
继承
ES5
首先来我们看一下在 ES 5 中是如何实现继承的
复制代码
如上代码,我们通过原型链的形式把 son 类的方法给了 father
ES6
ES 中,我们就可以通过提供的 Class 关键词和
extends
来实现继承
复制代码
如上代码,就是通过 ES6 的语法来实现继承的,并重构了 getName 方法。
但是有一点是需要注意的,虽然 ES6 已经很普遍了,但是还有一些老旧的项目是没有继承 ES6 语法的,这个时候我们就需要一种编码工具,把它转换为 ES5 语法了,他就是 babel
那他是怎么做到的,我们可以随便找一个转译工具下看看转译后的代码。
复制代码
通过如上代码我们可以发现,这就是 ES5 的 语法,但需要注意的是 他里面用到了
apply
这个方法。
END~~~
评论