Можно ли деструктурировать свойство publi c класса в JS / TS? - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть следующий класс в TypeScript.

class DBService {
  constructor(path: string) {
    this.initDatabase(path);
  }

  public db: lowDb.LowdbAsync<DatabaseSchema>;

  private async initDatabase(path: string) {
    const adapter = new FileAsync(path);
    this.db = await lowDb(adapter);

    await this.db
      .defaults({
        sites: [],
        events: [],
      })
      .write();
  }
}

export default DBService;

Теперь, когда я хочу использовать его, я создаю новый экземпляр класса, как этот.

const dbservice = new DBService(join(DB_DIR, 'db.json'));

Но я бы хотел получить прямой доступ к свойству publi c db внутри класса.

Я пробовал это с таким разрушением объектов. Но при этом БД всегда неопределенна.

const { db } = new DBService(join(DB_DIR, 'db.json'));
console.log(db) // undefined 

Мне нужно всегда обращаться к свойству с помощью указанного класса.

const dbservice = new DBService(join(DB_DIR, 'db.json'));
console.log(dbservice.db) // works

Разве невозможно деструктурировать свойство publi c класса в JS / TS?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...