Le compilateur de fermeture de Google a une balise "@typedf", mais est-ce que ça va de les utiliser dans votre code? (Je sais que cela fonctionnera, mais est-il froncé sur?)
Voici mon type P> et je peux ensuite utiliser ce type dans mes annotations JSDOC. Ceci permet à mon IDE de me donner une autocomplete sur le paramètre transcuté p> de sorte que l'objet déclaré ne soit utilisé nulle part dans le code. P>
/**
* The Instructions class
* @param {Types.Plan} plan Plan for position and dimension
* @param {Manager} manager The manager
* @param {Instructions} parent This widget's parent's instructions
* @return {Instructions} Returns the new instructions object
*/
Instructions = function(plan, manager, parent){
plan.
}
3 Réponses :
C'est bon. Vous pouvez également utiliser un type d'enregistrement pour activer la vérification du type supplémentaire avec le compilateur: http://code.google.com/clost/compiler/docs/js-for-compiler.html#types p> < / p>
Il est également utile pour les syndicats: / ** @typdef {string | numéro | boolean} * / var mytype; code>
Par Ce lien , JSDOC @Property n'est pas pris en charge dans le compilateur de fermeture, de sorte que ceci La syntaxe de type record est la seule façon d'aller.
Attention à ce que les propriétés des objets ne sont actuellement pas saisies dans le compilateur de fermeture, même si elles sont marquées, mais peuvent être à l'avenir. P> @Typedf code> est utilisé pour définir un type, non pour marquer un objet sous forme de type. Si vous souhaitez marquer une certaine variable comme un certain type, utilisez le
@type {
@typedf code> est utilisé pour définir des types "courtes" à utiliser avec
@type {...} code> constructions. P>
Un typedef est censé créer un type, il est donc froncé sur le point de l'utiliser comme un espace de noms (attribuer un objet littéral). J'ai écrit un Blog Publier à propos de Divers pièges Typefef il y a quelque temps. P>