单例模式是一种非常重要的模式,例如VueX状态管理就是使用这种模式,这次来演示typescript如何创建这种模式。
// !单例模式
class Demo {
private static instance: Demo; //类型为这个类
private constructor() {}
// *static 会将它挂载类上,而不是实例上
static getInstance() {
if (!this.instance) {
this.instance = new Demo();
}
return this.instance;
}
}
// 外部无法直接new,因为constructor是private
const demo1 = Demo.getInstance();