javascript是一门纯粹的原型模式的语言。所以我们可以抛弃类,转而更专注于对象。基于原型的继承相比于基于类的继承在概念上更为简单: 一个新对象可以继承一个旧对象的属性。
首先先认识一个对象方法:Object.create( ),这个方法用来创建一个新对象,并且使用现有的对象来作为新对象的原型。
创建一个对象cat:
const cat = {
name:'mimi',
get_name: function(){
return this.name
}
}
使用Object.create()方法,用cat来创造一个dog对象:
const dog = Object.create(cat)
比对两个对象:
很容易发现,dog的原型对象就是cat
如果想要新的方法属性或者替换原本的方法属性,只需要在新对象上直接添加就行了:
dog.name = 'wangcai'
dog.saying = function(){
return 'wangwangwang'
}
新的dog对象:
这样就通过Object.create()实现了对象的继承。