2 votes

Comment fournir les déclarations manquantes en TypeScript ?

Comment fournir une déclaration supplémentaire aux fonctions des classes statiques en TypeScript ? Par exemple, j'utilise Chrome Canary avec la fonction expérimentale Object.observe() Fonction JavaScript. Pour l'utiliser (sans recourir à un cast any), je veux déclarer la fonction Object.observe fonction. Comment dois-je m'y prendre ?

declare ?; // What goes here?

var x = {};
Object.observe( x, ( update : any ) => { console.log("Hello"); } ); // Declaration needed

2voto

Sean Hill Points 7500

Vous devrez créer une interface :

interface Object {
  observe(beingObserved: any, callback: (update: any) => any) : void;
}

Ensuite, il suffit de faire référence à cette interface dans votre .ts dossier. A partir de 0.8.1.1 L'Intellisense est un peu bancale, mais elle fonctionne et fait respecter le contrat lors de la compilation.

Il mettra également en évidence les endroits où vous utilisez Object.observe avec Ambiguous call expression - could not choose overload mais il sera néanmoins compilé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X