使用 JSDoc 设置 ES5 类的属性类型
Posted
技术标签:
【中文标题】使用 JSDoc 设置 ES5 类的属性类型【英文标题】:Set ES5 class' property type using JSDoc 【发布时间】:2018-02-01 15:22:16 【问题描述】:我的课程有一个属性:
class MyClass
constructor()
this.property = null;
属性可以是null
或Array
实例。我试过这个:
/**
* @property property Array
*/
class MyClass ...
这个:
/**
* @property MyClass.property Array
*/
class MyClass ...
还有这个:
class MyClass
/**
* @property property Array
*/
constructor() ...
我仍然在智能感知中看到这一点:
那么谁能告诉我如何正确地做到这一点?
【问题讨论】:
【参考方案1】:到目前为止,最好的方法是:
class MyClass
constructor()
/** @type MyClass2 **/
this.property = null;
它仍然有点问题,但大部分时间它都可以工作。
【讨论】:
如果属性是从构造函数参数中赋值的,那么它的类型可以由 Visual Studio(和 Visual Studio Code)推断出来。以上是关于使用 JSDoc 设置 ES5 类的属性类型的主要内容,如果未能解决你的问题,请参考以下文章
在 TypeScript 和/或 JSDoc 中,如何指示记录类型中的某些属性名称是同一类型中兄弟属性的别名?
VS Code 中的 Vue Array Prop JSDoc TypeScript 错误:“ArrayConstructor”类型缺少“MyCustomType []”类型中的以下属性