关于ES5中的prototype与ES6中class继承的比较

ES5:继承:

1.ES5:继承 通过原型链实现继承。子类的prototype为父类对象的一个实例,因此子类的原型对象包含指向父类的原型对象的指针,父类的实例属性成为子类原型属性

2.ES6 的继承 实质是先创造子类的实例对象this,然后再将父类的方法添加到this上面(Parent.apply(this))

ES6为了进一步的缩减代码的编写,和简化代码的逻辑,引入了关键词 class。但class的实现也是在prototype的基础上,做了一层语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。

猜你喜欢

转载自www.cnblogs.com/yeanling/p/11225669.html