-
单例模式是创建型模式
-
确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点
-
核心: 用闭包和
Proxy属性拦截
function proxy(func) {
let instance
let handler = {
construct(target, args) {
if (!instance) {
instance = Reflect.construct(target, args)
}
return instance
},
}
return new Proxy(func, handler)
}