2009-09-19 5 views
0

Lorsque je récupère des entités JSON via jQuery depuis le serveur et que je les manipule côté client, j'ai cette envie de pouvoir voir leur interface via Visual Studio intellisense. Donc, ignorer si c'est une idée stupide, est-ce possible d'une façon ou d'une autre?Possibilité d'écrire des classes d'entités fortement typées en javascript?

Donc ce que je pensais était d'être en mesure de faire référence Entities.js, qui contiendrait des définitions pour toutes les entités, à savoir:

Class Person 
    String Name 
    String Address 
    String Telephone 
Enc Class 

Alors lors de l'écriture javascript côté client, ces propriétés seraient visibles par IntelliSense .

Je sens ce n'est pas possible si? Sinon, pourrait-il être simulé par des enums ou quelque chose comme ça?

Répondre

0

Vous pouvez envelopper les données dans les classes javascript, à savoir:

var someJson = { foo: 'foo', bar: 'bar' }; 

var MyClass = function(foo, bar) { this.foo = foo; this.bar = bar; } 
MyClass.prototype = { 
    foo: '', 
    bar: '' 
}; 

var someObj = new MyClass(someJson.foo, someJson.bar); 

Je ne sais pas Visual Studio, mais IntelliJ IDEA et Aptana devrait être en mesure de saisie semi-automatique ce genre de structures tout à fait bien.

Cela dépend aussi beaucoup sur si l'IDE est en mesure de déterminer le type d'une variable de quelque part. Si vous passez un objet en tant que paramètre à une fonction, l'EDI peut ne pas être en mesure de déterminer le type. Cela peut généralement être assisté en fournissant un indice de type dans un commentaire de style JsDoc ou autre.

Ce sont vraiment le genre de questions qui nécessitent soit des conseils de jsdoc ou une devinette à puce par l'EDI. Dans mon expérience, IntelliJ fait le meilleur travail dans ce domaine.

Questions connexes