Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSDoc中对象中任意键的值的文档结构_Javascript_Documentation_Jsdoc - Fatal编程技术网

Javascript JSDoc中对象中任意键的值的文档结构

Javascript JSDoc中对象中任意键的值的文档结构,javascript,documentation,jsdoc,Javascript,Documentation,Jsdoc,我有一个功能工厂: 功能工厂(事件){ for(事件中的常量键){ const{before,after}=事件[键] } } 其中,参数事件通常为: { 仅:{ 前(){} 在()之后{} }, 除:{ 前(){} 在()之后{} }, } 如果键仅,除外可以是任何类型,但值始终(必须)为{before,after}类型,其中before,after都是函数 如何使用JSDoc在我的工厂函数中为事件参数记录此结构 我能想到的唯一解决方案是将事件做成一个数组,然后我可以像这样使用typede

我有一个功能
工厂

功能工厂(事件){
for(事件中的常量键){
const{before,after}=事件[键]
}
}
其中,参数
事件
通常为:

{
仅:{
前(){}
在()之后{}
},
除:{
前(){}
在()之后{}
},
}
如果键
除外
可以是任何类型,但值始终(必须)为
{before,after}
类型,其中
before
after
都是函数

如何使用JSDoc在我的
工厂
函数中为
事件
参数记录此结构

我能想到的唯一解决方案是将
事件
做成一个数组,然后我可以像这样使用
typedef

/**
*@typedef事件
*@property{function}before
*@property{function}after
*/
/**
*@typedef事件元组
*@property{string}键
*@property{event}event
*/
/**
*@param{[eventTuple]}events
*/
函数工厂(事件){
for(事件的常量{key,event}){
常量{before,after}=事件
}
}
但我真的想保持原来的结构

是否可以在我的原始结构中记录此
事件
类型定义

我主要关心的是它在VSCode中的工作,VSCode将这些类型定义从JSDoc中提取出来

您可以使用TS语法

p、 老实说,我不确定这是否适用于所有地方。但它至少对智能感知有效

/**
*@typedef事件
*@property{function}before
*@property{function}after
*/
/**
*@param{[key:string]:event}events
*/
函数工厂(事件){
for(事件中的常量键){
const{before,after}=事件[键]
}
}