将 JSDoc 与匿名对象和该对象的函数一起使用的正确方法

Posted

技术标签:

【中文标题】将 JSDoc 与匿名对象和该对象的函数一起使用的正确方法【英文标题】:Correct way to use JSDoc with anonymous object and functions of this object 【发布时间】:2016-04-27 12:53:36 【问题描述】:

目前在 Dojo (1.10) 和 ESRI API javascript 的项目中使用 Webstorm。

我有一个接受小部件(对象/类)的函数,但由于 JSDoc,Webstorm 向我显示了一些警告。

代码:

/**
 * Init toolbar
 *
 * @param Object [options] - Toolbar options
 * @param string [options.title=Default title] - Main title
 * @param ToolbarWidget toolbarObj - Toolbar widget to set
 */
initToolbar: function(options, toolbarObj) 
  ...
  toolbarObj.set('title', _title);

第一个警告出现在“toolbarObj”上。我收到一条消息“未解析的变量或类型”。

这很容易解决。刚刚包含以下 JSDoc:

/**
 * A dojo widget (toolbar).
 * @typedef Object ToolbarWidget
 */

现在,另一个警告是toolbarObj 的'set' 函数。 我收到一条带有以下消息的警告:'unresolved function or method set()'。

已经尝试过@name、@function(可能方式不对)!

我知道这是可选的(只是一个警告),但是,我喜欢以正确的方式记录所有内容。 那么,如何记录匿名对象/dojo 小部件的“设置”功能?!

【问题讨论】:

【参考方案1】:

怎么样

/**
 * A dojo widget (toolbar).
 * @typedef  Object ToolbarWidget
 * @property function set 
 */

【讨论】:

以上是关于将 JSDoc 与匿名对象和该对象的函数一起使用的正确方法的主要内容,如果未能解决你的问题,请参考以下文章

匿名对象 内部类 包的声明与访问 访问修饰符

React Hooks - 具有解构数组变量的 JSDoc

JSDoc中的文档解构函数参数

如何为具有不同类型键的对象编写 JSDoc?

Javascript的匿名函数与自执行

如何使用 JSDoc 类型注释键入导入的对象?