Skip to content

Latest commit

 

History

History
19 lines (18 loc) · 976 Bytes

9.22创建对象的正确方式.md

File metadata and controls

19 lines (18 loc) · 976 Bytes

参考创建对象的正确姿势

js无类,谈继承的本质

js中无类的概念,ES6中的class、extends等关键字也只是语法糖,类的作用是继承和派生,那么继承的本质是什么呢?继承可以说是描述了一种层次关系,一种递进的关系。 当Student继承自Person,Student是一个Person,只不过是比Person更加具体。所以类不是必须的,只需要用另外的方法来实现这种递进关系即可。js中就利用了原型prototype 根据原型来创建一个对象,就构成了一种层次递进关系。

js中的继承实现

function Person(name) {
  this.name = name
}
function Student(name) {
  this.name = name;
}
Person.prototype.eat = function() {
  console.log(this.name+"在吃饭");
}

Student.prototype = new Person();