如何使用 jsdoc 声明一个 return 值包含哪些属性?

How to use jsdoc to declare what properties a return value contains?

我知道我可以使用 jsdoc 来声明一个函数return是一个对象。

/**
 *  Builds a body that returns published products
 * @param {string} rangeType
 * @param {string} retailUnit
 * @param {string[]} ids
 * @returns {Object}
 */
function fetchPublishedProducts(rangeType, retailUnit, ids) {
  return {
    size: 250,
    query: {
      ids: {
        values: ids.map(id => `${id}-${retailUnit}${rangeType ? `_${rangeType}` : ''}`),
      },
    },
  };
}

但是如果我想声明 return 对象有一个 size 和一个 query 属性 语法是什么?

只需将您的对象接口定义为:

/**
 * ....
 * @returns {{size: number, query: string}}
 */