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