Javascript ES6 iterables的JSDoc类型名称
我有一个javascript方法,它接受一个iterable,即后面的任何对象。我想在它的JSDoc中对此进行注释。如何引用“iterable”类型Javascript ES6 iterables的JSDoc类型名称,javascript,annotations,ecmascript-6,jsdoc,iterable,Javascript,Annotations,Ecmascript 6,Jsdoc,Iterable,我有一个javascript方法,它接受一个iterable,即后面的任何对象。我想在它的JSDoc中对此进行注释。如何引用“iterable”类型 /** * @param {__WHAT_GOES_HERE__?} iterable */ function consume(iterable) { ... } 我可以用JSDoc写下整个协议,但这有点。。。难以置信的笨拙: * @param { * { * Symbol.iterator: function(): {
/**
* @param {__WHAT_GOES_HERE__?} iterable
*/
function consume(iterable) { ... }
我可以用JSDoc写下整个协议,但这有点。。。难以置信的笨拙:
* @param {
* {
* Symbol.iterator: function(): {
* next: function() : {
* value: T|undefined,
* done: boolean
* }
* }
* }
* } iterable
此外,工具似乎不理解
Symbol.iterator
的含义。我当前的解决方案是使用适当的方法定义Iterable
和iterator
类。我将类放在编辑器可见但未实际使用的位置,因此linter可以看到定义,但它们不会作为膨胀包含在实际输出中
然后,在获取/返回序列的方法的JSDoc中,我可以引用
Iterable
和Iterator
,我通常只使用Iterable.
或任何类型,但我们实际上并不从JSDoc生成文档。@loganfsmyth我使用webstorm,它根据注释执行一些基本类型的警告。当我只是对类型撒谎时,它会抱怨。@Strilan:你用的是什么类型系统?你能在那里声明接口吗?@Bergi这个问题指的是JSDoc,但我的具体情况是“WebStorm中内置的任何东西”。可能是一些现有标准的临时组合,包括JSDoc和Close的类型注释。