继承时为什么使用new关键字

假定我们不使用new关键字的话,只能像下边那样进行继承了:

SubClass.prototype=SuperClass.prototype;

坏处:SuperClass怎么继承自己的父类呢?难道这样写吗?SuperClass.prototype=ChaoSuperClass.prototype;这样SubClass就没法继承SuperClass的方法了。

使用new关键字:

SubClass.prototype=new SuperClass();

可以实现连续继承,SuperClass.prototype=new ChaoSuperClass();

因为实例的[[prototype]]指向共享区,构造函数的prototype也指向共享区。每个类在SubClass.prototype上添加共享方法,继承时使用new就可以达到连续继承的目的。

你可能感兴趣的:(继承时为什么使用new关键字)