Javascript 如何使用jdoc来描述接收具有动态属性(如json模式)的复杂对象的函数

Javascript 如何使用jdoc来描述接收具有动态属性(如json模式)的复杂对象的函数,javascript,jsdoc,jsdoc3,Javascript,Jsdoc,Jsdoc3,例如: /** * * @param {any} data - Object to be validated * @params {Object} schema - JSON schema * @params {Object} schema.properties - JSON schema properties * ** @params {string} schema.properties[any].type - field property type ???** */ function val

例如:

/**
*
* @param {any} data - Object to be validated
* @params {Object} schema - JSON schema
* @params {Object} schema.properties - JSON schema properties
* ** @params {string} schema.properties[any].type - field property type ???**
*/
function validate(data, schema) {
}
类似于


对于这种特殊情况:

/**
 * @param {Object} data
 * @param {{properties: Object.<string, {type: string}>}} schema
 */
function validate(data, schema) {
    schema.properties['test'].type = 'test';
}
/**
*@param{Object}数据
*@param{{properties:Object.}}架构
*/
函数验证(数据、模式){
schema.properties['test'].type='test';
}
或者,如果您不介意与闭包编译器不兼容 (它在WebStorm中仍然有效):

/**
*@typedef{Object}属性
*@property{string}类型
*/
/**
*@typedef{Object}模式
*@property{Object.}properties
*/
/**
*@param{Object}数据
*@param{Schema}Schema
*/
函数验证(数据、模式){
schema.properties['test'].type='test';
}
见:

/**
 * @typedef {Object} Property
 * @property {string} type
 */

/**
 * @typedef {Object} Schema
 * @property {Object.<string, Property>} properties
 */

/**
 * @param {Object} data
 * @param {Schema} schema
 */
function validate(data, schema) {
    schema.properties['test'].type = 'test';
}