JSDoc:在“for ... of”循环中为变量声明@type

时间:2017-07-13 05:20:23

标签: javascript types ecmascript-6 annotations jsdoc

我可以使用JSDoc @type注释声明变量 一个 的类型吗?

/** @type some.type */
for (let one of many) {
    ...
}

像PHPDoc注释:

/** @var \Some\Type $one */
foreach ($many as $one) {

}

1 个答案:

答案 0 :(得分:2)

是的,你可以。您只需要在变量之前移动括号内的类型声明:

for (/** @type {SomeType} */ const one of many) {
    // ...
}

这很好用,但我通常更喜欢指定many的类型。例如:

/** @type {Number[]} */
const many = [1, 2, 3, 4];

然后会自动推断出one的类型。

P.S。:通知我将one声明为const。尽管有人猜测,你可以将for..of循环变量声明为常量!