下面是eslint的jsdoc插件不喜欢的一个jsdoc:

@property {{event: Object.<string, MyEnum[]>, observation: Object.<string, MyEnum[]>}} enums

它抱怨:Syntax error in type: (...) jsdoc/valid-types

如果我将"Event"重命名为"Events",它将再次工作.

你知道为什么我不能有一个名为"Event"的对象键吗?

SOLVED (by andrew arrow, see his solution below):

多亏了@Andrew Arrow,我最终像这样分解了我的"enum"密钥,它不再抱怨了:

@property {Object} enums
@property {Object.<string, MyEnum[]>} enums.event
@property {Object.<string, MyEnum[]>} enums.observation

谢谢安德鲁!

推荐答案

该问题特定于JSDoc注释和ESLint JSDoc插件.该插件可能会错误地将"事件"解释为其他内容,从而触发"语法错误类型"的投诉!

try JSDoc注释的另一种语法,看看它是否正常工作,没有任何错误.不使用属性的内联类型表示法,而是将@type标记与MyEnum的单独@tyecif一起使用:

/**
 * @typedef {Object.<string, MyEnum[]>} MyEnumObject
 * @property {MyEnumObject} event
 * @property {MyEnumObject} observation
 *
 * @type {{
 *   event: MyEnumObject,
 *   observation: MyEnumObject
 * }}
 */
const enums = {
  // Your object initialization here
};

Javascript相关问答推荐

Vue.js使用特定索引值的数据更新html

将未等待的未处理的错误promise 转变为警告@ changeTicksAndRejections(由当时的抛出错误创建)

除了在Angular 16中使用快照之外,什么是可行且更灵活的替代方案?

如何通过在提交时工作的函数显示dom元素?

vscode扩展-webView Panel按钮不起任何作用

提交表格后保留Web表格中的收件箱值?

Phaser 3 console. log()特定游戏角色的瓷砖属性

Angular:动画不启动

D3 Scale在v6中工作,但在v7中不工作

如何通过使用vanilla JS限制字体大小增加或减少两次来改变字体大小

如何从网站www.example.com获取表与Cheerio谷歌应用程序脚本

还原器未正确更新状态

单个HTML中的多个HTML文件

在forEach循环中获取目标而不是父对象的属性

JavaScript是否有多个`unfined`?

查询参数中的JAVASCRIPT/REACT中的括号

如何在JAVASCRIPT中临时删除eventListener?

react -原生向量-图标笔划宽度

在SuperBase JS客户端中寻址JSON数据

使用createBrowserRoutVS BrowserRouter的Reaction路由