es6 单例

class Singleton {
    constructor() {
        this.conn = this.connect();
    }
    static getInstance() {
        if (!Singleton.instance) {
            Singleton.instance = new Singleton();
        }
        return Singleton.instance;
    }
    connect() {
        console.log('连接数据库');
        return { conn: "这是一个数据库句柄" };
    }
    find() {
        console.log('查询数据库');
    }
}
let singleton1 = Singleton.getInstance();
let singleton2 = Singleton.getInstance();
console.log("singleton1", singleton1, "singleton2", singleton2)
console.log(singleton1 === singleton2)

  

连接数据库
singleton1 =>  Singleton { conn: { conn: '这是一个数据库句柄' } }  |  singleton2 =>  Singleton { conn: { conn: '这是一个数据库句柄' } }
比较结果: true

猜你喜欢

转载自www.cnblogs.com/xiaosongJiang/p/10878811.html