如何使用 JSDocs 描述具有默认值的可选对象参数

the*_*uls 0 javascript jsdoc

我不知道标题是否正确表达了我想要做的事情。但我有以下功能:

/**
 * @param {any} param1
 * How to describe the second parameter??
 * @returns {Object}
 */
function doSomething (param1, { property1 = null, property2 = null }){
  // do stuff
  return something
}
Run Code Online (Sandbox Code Playgroud)

正如评论中所质疑的,使用 JSDocs,我将如何描述第二个参数?

n8j*_*ams 7

使用方括号[]表示可选参数。像这样:

/**
 * @param {any} param1
 * @param {Object} somethingWithProps - Some description
 * @param {string} [somethingWithProps.property1] - First property
 * @param {string} [somethingWithProps.property2] - Second property
 * @returns {Object}
 */
function doSomething (param1, { property1 = null, property2 = null }){
    // do stuff
    return something
}
Run Code Online (Sandbox Code Playgroud)

来自文档: Optional parameters and Documenting a destructuring parameter