在阅读文章之前,您至少需要对JavaScript原型继承有一定了解,如果觉得有所欠缺,可以先了解下我这篇文章:https://blog.csdn.net/qq_34149805/article/details/86105227
1.es6 class 使用
javascript使用的是原型式继承,我们可以通过原型的特性实现类的继承,
es6为我们提供了像面向对象继承一样的语法糖。
class Parent {
constructor(a){
this.filed1 = a;
}
filed2 = 2;
func1 = function(){}
}
class Child extends Parent {
constructor(a,b) {
super(a);
this.filed3 = b;
}
filed4 = 1;
func2 = function(){}
}
下面我们借助babel来探究es6类和继承的实现原理。
1.类的实现
转换前:
class Parent {
constructor(a){
this.filed1 = a;
}
filed2 = 2;
func1 = function(){}
}
转换后:
function _classCallCheck(instance, Constructor) {
if (!(ins