我们的自定义类有一个容器对象,但JSDoc似乎不喜欢我对这些类型的表示法并对它们进行注释
“无效的类型语法”。
我正在使用PHP-Storm。
我的JSDoc是根据这个原则:
/** @type {Container['3rd'].className} */
当我将注释更改为此时,它似乎是有效的,因为注释消失了:
/** @type {Container.3rd.className} */
为什么在JSDoc中第一个property accessor syntax不被认为有效?使用括号的访问器在Javascript代码中是有效的,那么为什么不在jsdoc注释中呢?
JSDocs @type表示法不是JavaScript表达式。这是一个JSDoc Namepath表达。
如果你仔细研究这两个链接,你会看到一些东西;
MyConstructor#instanceMember
MyConstructor~innerMember
@type
表达式使用非JS语法:
/** @type {(string|Array)} */