koa 基础(十九)es6中的单例

1.app.js

/**
 * es6中的单例
 * 实例化的时候,无论实例多少次,构造函数只执行一次,有利于提高性能
 */
class Db {
  static getInstance() { /*单例*/
    if (!Db.instance) {
      Db.instance = new Db();
    }
    return Db.instance;
  }

  constructor() {
    console.log('实例化会触发构造函数')
  }

  connect() {
    console.log('连接数据库')
  }

  find() {
    console.log('查找数据库')
  }
}

var myDb = Db.getInstance();
var myDb2 = Db.getInstance();
var myDb3 = Db.getInstance();

myDb2.find();
myDb3.find();

.

原文地址:https://www.cnblogs.com/crazycode2/p/10934265.html