W JSDoc istnieje możliwość udokumentowania dokładnych typów zawartości tablicy like this:dokumentem JSDoc
/** @param {Array.<MyClass>} myClasses An array of MyClass objects. */
TestClass.protoype.someMethod = function(myClasses){
myClasses[0].aMethodOnMyClass();
}
To sprawia, uzupełniania kodu w IDE jak WebStorm rzeczywiście zapewniają odpowiednią informację o typie po [0].
. Działa to dobrze dla typu Array, jednak mam własne typy kolekcji, w których chciałbym skorzystać z tej funkcji. Problem polega na tym, że nie mogę znaleźć właściwej składni (może dlatego, że jeszcze jej nie ma). Bardzo chciałbym, aby być w stanie zadeklarować moją klasę jakoś tak:
/**
* @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(){}
Ta składnia lub funkcja nie działa z moim IDE i nie ma na liście here, więc zastanawiam się, czy istnieje Składnia tego uży- teczność w przypadku WebStorm lub innego narzędzia do tworzenia JS.
Dzięki, właśnie się o tym sam z [tym YouTrack emisji] (http://youtrack.jetbrains.com/issue/WEB- 1208) i [ten zestaw zmian kompilacji zamknięcia] (https://code.google.com/p/closure-compiler/source/detail?spec=svn64d22457ddca24b07370f711276a449273bd6330&r=0eb41cabc9ba5463e3a34ea2fd900a8dd54f2136). Czy istnieje poparcie dla tego na poziomie klasy? Moje testy wskazują, że działa to tylko dla "funkcji lokalnych parametrów typu". – Sebastian