原型模式

  • 定义:其特点在于通过「复制」一个已经存在的实例来返回新的实例,而不是新建实例。
    js的对象创建默认就是这种模式,这里的复制可以是深拷贝也可以是浅拷贝
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Shape {
constructor(type) {
this.type = type
}
getType() {
return this.type
}
clone() {
return new Shape(this.type)
}
}

let cShape = new Shape('r')
cShape.getType() // r

let cloneShape = cShape.clone()

cloneShape.getType() // r

// 复制了 prototype 中的 getType