Задокументировать параметры универсального типа в JSDOC
ВJSDoc существует возможность документировать точные типы содержимого массиванравится:
/** @param {Array.<MyClass>} myClasses An array of MyClass objects. */
TestClass.protoype.someMethod = function( myClasses ){
myClasses[0].aMethodOnMyClass();
}
Это делает завершение кода в IDE, таких как WebStorm, фактически предоставляет правильную информацию о типе после[0].
, Это хорошо работает для типа Array, однако у меня есть свои собственные типы коллекций, где я также хотел бы использовать эту функцию. Проблема в том, что я не могу найти правильный синтаксис (возможно, потому что его пока нет). Я хотел бы иметь возможность объявить мой класс как-то так:
/**
* @typeparam {T} the type parameter
* @constructor {Test2.<T>}
* */
Test2 = function(){};
/**
* @returns {T} a value of type T, where T is the generic type parameter of Test2
*/
Test2.prototype.getGenericValue = function(){}
Этот синтаксис или функция не работает с моей IDE и отсутствует в спискеВот, поэтому мне интересно, есть ли синтаксис для этого варианта использования, либо для WebStorm, либо для любого другого инструмента разработки JS.