ES6学习笔记三(原型、构造函数、继承)

原创 夏天不做梦 随笔 ES6 396阅读 2017-06-21 18:01:32 举报

我们先来看下原型、构造函数在es5中的用法

javascript 代码

注意:每当访问对象的某个属性时,程序会先从实例对象里找,如果找不到再从对象指向的原型对象里找,也就是执行两次搜索。

原型、构造函数在es6中的用法

javascript 代码

首先用class定义了一个“类”,可以看到里面有一个constructor方法,这就是构造方法,而this关键字则代表实例对象。
简单地说
constructor内定义的方法和属性是每个实例对象自己的独立的
constructor外定义的方法和属性则是所有实力对象都可以共享的

我们再来看下继承在es5中的用法

javascript 代码

继承在es6中的用法

javascript 代码

上面定义了一个Cat类,该类通过extends关键字,继承了Animal类的所有属性和方法。

super关键字,它指代父类的实例(即父类的this对象)。子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工。如果不调用super方法,子类就得不到this对象。

ES6的继承机制,实质是先创造父类的实例对象this(所以必须先调用super方法),然后再用子类的构造函数修改this。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复