У компилятора Google Closure есть тег "@typedef", но можно ли использовать их в своем коде?(Я знаю, что это будет работать, но не одобряется ли это?)
Итак, вот мой тип
/**
* The plan object's typedef
* @typedef {Object}
*/
Types.Plan = {
"style": "bordersmall",
"width": "50%",
"height": "40%",
"x": "20%",
"y": "10%",
"clickable": true,
"moveable": true
};
И затем я могу использовать этот тип в моих аннотациях JSDoc.1007 * Это позволяет моей среде IDE автоматически заполнять переданный параметр
Таким образом, объявленный объект нигде в коде не используется.
/**
* 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.
}
Так это нормально?Или есть лучшее решение?