Object destructuring mit types in TypeScript

Ich habe TypeScript für ein kleines Deno-Test-Projekt verwendet und wollte ein Objekt dekonstruieren. Mit den meisten Features von TypeScript bin ich vertraut, aber hin und wieder treffe ich auf ein Problem.

In JavaScript ist Object destructuring sehr einfach:

const {name, age} = data.value;

Deshalb habe ich es in TS genauso versucht, nur mit Types:

const {name: string, age: number} = data.value;

Aber das funktioniert nicht.

Wie sich herausstellt ist die richtige Syntax:

const {name, age}: {name: string; age: number} = data.value;

Der beste Weg das umzusetzen wäre ein Type oder Interface zu erstellen für die Daten:

interface Person {
  name: string
  age: number
}

Jetzt kann das Beispiel von oben vereinfacht geschrieben werden:

const person: Person = data.value;