Static & Private Class Fields

What pattern is implemented using private fields?
class Database {
  static #instance;
  #connection;
  
  constructor() {
    if (Database.#instance) {
      return Database.#instance;
    }
    this.#connection = this.#connect();
    Database.#instance = this;
  }
  
  #connect() {
    // Connection logic
  }
}
Next Question (6/21)