Obtenir le type d'une propriété d'un tapuscrit de classe à l'aide keyof opérateur

Comme indiqué dans la documentation de la Machine sur le keyof opérateur, on peut obtenir une propriété d'une instance d'objet à l'aide de la fonction ci-dessous.

function getProperty<T, K extends keyof T>(o: T, name: K) {
    return o[name];
}

Bien sûr, on peut obtenir le type de la propriété par le remplacement de return o[name] en return typeof o[name]. Est-il un moyen de récupérer le type de la propriété sans passer aucune instance de l'objet?

function getPropertyType<T>(name: keyof T) {
    //something like T[name]?
}
  • Selon Tapuscrit pas de buts numéro 5: "Ajouter ou de s'appuyer sur run-time type information dans les programmes, ou d'émettre un code différent sur la base des résultats du type" j'ai peur que ce ne serait pas possible que ça sonne comme le type de réflexion pour moi ce que vous essayez de faire. github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals
  • 😔 merci pour la réponse!
InformationsquelleAutor bmdelacruz | 2017-08-26