title: Destructuring async properties in JavaScript/TypeScript
body: <p>Is there a way to get <code>async</code> properties with destructuring in JavaScript/TypeScript?</p>
  <p>Like this:</p>
  <pre class="lang-js prettyprint-override"><code>class A {
    public get x() {
      return this.getX()
    }
  
    private async getX() {
      return 5
    }
  }
  
  async function f(a : A) {
    const { x } = a
  
    console.log(x) // Promise
  }
  async function g(a : A) {
    // works as const x = await a.x
    const { await x } = a
  
    console.log(x) // 5
  }
  </code></pre>