JS 原型模式

96 阅读1分钟

什么是原型模式

原型模式是指将一个类的原型指向另个一类(实例化对象)的原型,实现对类的原型的共享。实现原理是基于JavaScript的原型链(prototype)

实现原型模式

对于原型模式,我们可以利用JavaScript特有的原型继承特性去创建对象的方式,也就是创建的一个对象作为另外一个对象的prototype属性值。原型对象本身就是有效地利用了每个构造器创建的对象,例如,如果一个构造函数的原型包含了一个name属性(见后面的例子),那通过这个构造函数创建的对象都会有这个属性。

const Common = function () {}

Common.prototype.name = '前端'
Common.prototype.age = '18'
Common.prototype.project = 'vue'
Common.prototype.setProject = function (val) {
    console.log(`${val}: ${this.project}`)
} 

const test1 = new Common()
const test2 = new Common()
test1.setProject('PC')
test2.setProject('M')

console.info(Common.prototype.constructor === Common)

总结

原型模式在JavaScript里的使用简直是无处不在,就是创建一个共享的原型,通过拷贝这个原型来创建新的类,用于创建重复的对象,带来性能上的提升。