2
我有一个JavaScript方法需要一个迭代器,即遵循the es6 iterable protocol的任何对象。我想在它的JSDoc中注释这个。我如何参考'可迭代'类型?ES6迭代器的JSDoc类型名称
/**
* @param {__WHAT_GOES_HERE__?} iterable
*/
function consume(iterable) { ... }
我可以写出来的JSDoc整个协议,但这样做有点令人难以置信...笨拙:
* @param {
* {
* Symbol.iterator: function(): {
* next: function() : {
* value: T|undefined,
* done: boolean
* }
* }
* }
* } iterable
此外,工具似乎并不明白Symbol.iterator
手段。
我通常只是把'Iterable。'或其他类型,但是我们实际上并没有从JSDocs中生成文档。 –
loganfsmyth
@loganfsmyth我使用webstorm,它根据注释做了一些基本的类型警告。当我只是说谎的时候,它会抱怨。 –
@Strilanc:你使用的是什么类型的系统?你可以在那里声明接口吗? – Bergi